Negatif olmayan tamsayılar her zaman aynı iki komşuya sahip olmaktan sıkılır, bu yüzden işleri biraz karıştırmaya karar verirler. Ancak, aynı zamanda tembeller ve orijinal konumlarına olabildiğince yakın kalmak istiyorlar.
Aşağıdaki algoritmayı buldular:
- İlk eleman 0'dır.
- elemanı henüz dizisinde mevcut değildir ve bir komşu olmadığı en küçük sayıdır elemanı.
Bu, aşağıdaki sonsuz diziyi oluşturur:
0,2,4,1,3,5,7,9,6,8,10,12,14,11,13,15,17,19,16,18,20,22,24,21,23,25,27,29,26,28 ...
0
ilk öğedir. 1
sıradaki henüz olmayan en küçük sayıdır, ancak bir komşudur 0
. Bir sonraki en küçük sayıdır 2
, yani dizinin ikinci elemanıdır. Şimdi kalan sayılardır 1,3,4,5,6,...
, ancak her iki yanı 1
ve 3
sınır komşusu olmaları 2
, 4
dizinin üçüncü üyesidir. Gibi 1
bir komşu değil 4
, sonunda dördüncü unsur olarak yerini alabilir.
Görev
Yukarıdaki sırayı üreten, mümkün olduğu kadar az baytta bir işlev veya program yazın.
Yapabilirsin
- diziyi sonsuza kadar çıkar,
- Bir giriş almak ve dönüş dizisinin elemanı ya da
- bir girişi alın ve dizinin ilk elemanlarını döndürün.
İki seçenekden birini seçmeniz durumunda, hem sıfır hem de bir dizin oluşturma iyidir.
Yukarıda verilen algoritmayı takip etmeniz gerekmez, aynı diziyi üreten herhangi bir yöntem iyidir.
Esinlenerek Kod golf iyi permütasyon . Bunun A277618 olduğu ortaya çıktı .
* Zero kelimenin tam anlamıyla sadece bir komşusu var ve gerçekten umursamıyor.