Tanım
Alternatif Güç Fibonacci Dizisi aşağıdaki gibi oluşturulur.
Boş dizisi ve dizi ile başlayın , n için 1 .
Hesaplayın f , n , n- inci Negatif olmayan Fibonacci sayı tekrar ile.
0 , birinci, 1 , ikinci ve üçüncü, 2 , dördüncü. Diğerleri, sıradaki önceki iki sayıyı toplayarak elde edilir, yani 3 = 1 + 2 beşinci, 5 = 2 + 3 altıncı vb.Eğer n garip, işaretini değiştirmek f n .
Ekleme 2 , n-1 kopyaları f , n sekansına.
N artırın ve 2. adıma geri dönün.
Bunlar APF dizisinin ilk yüz terimleridir.
0 1 1 -1 -1 -1 -1 2 2 2 2 2 2 2 2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3
-3 -3 -3 -3 -3 -3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
-8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
Görev
Tam bir program ya da pozitif bir tamsayı alan bir fonksiyon yazın n giriş ve baskılar veya döner N inci APF dizisinin terimi.
0-tabanlı indekslemeyi tercih ederseniz, alternatif olarak negatif olmayan bir tamsayı n alabilir ve n indeksindeki APF numarasını yazdırabilir veya geri döndürebilirsiniz .
Bu kod golf ; bayt cinsinden en kısa kod kazanabilir!
Test vakaları (1 tabanlı)
1 -> 0
2 -> 1
3 -> 1
4 -> -1
7 -> -1
8 -> 2
100 -> -8
250 -> 13
500 -> -21
1000 -> 34
11111 -> 233
22222 -> -377
33333 -> 610
Test vakaları (0 tabanlı)
0 -> 0
1 -> 1
2 -> 1
3 -> -1
6 -> -1
7 -> 2
99 -> -8
249 -> 13
499 -> -21
999 -> 34
11110 -> 233
22221 -> -377
33332 -> 610