Orijinal olarak @DJMcMayhem tarafından icat, N-Bonacci dizisi, bu sorunun , 0 ve 1 tamsayıları başlayarak ve daha sonra bir sonraki bir sayı üretmek için bir önceki N sayısına eklenmesi ile oluşturulur dizisidir. Özel N-bonacci dizisi, 0 ve 1 dışında bir sayı ile başlayan ve X ve Y olarak adlandırılacak bir N-bonacci dizisidir. N, dizide zaten bulunan terimlerin sayısından büyükse, tüm mevcut olanları ekleyin terimleri.
Yani örneğin, normal fibonacci dizisi, kime sorduğunuza bağlı olarak bir N 2 (önceki iki öğeyi alır) ve X ve Y 0 ve 1 veya 1 ve 1'dir.
Senin görevin:
Girilen bir tamsayının (A) sonraki üç tamsayı tarafından oluşturulan özel N-bonacci dizisinin bir parçası olup olmadığını kontrol eden bir program veya işlev yazmalısınız (ikinci girişi N olarak ve üçüncü ve dördüncü olarak X ve Y olarak kullanarak) . Özel N = 1 kasasını kullandığınızdan emin olun.
Giriş:
Dört negatif olmayan tam sayı, A, N, X ve Y.
Çıktı:
A'nın N, X ve Y girişleri tarafından oluşturulan N-bonacci dizisinin bir parçası olup olmadığını belirten bir doğruluk / falsy değeri.
Test Durumları:
Input: Output:
13,2,0,1->truthy
12,3,1,4->falsy
4,5,0,1-->truthy
8,1,8,9-->truthy
9,1,8,9-->truthy
12,5,0,1->falsy [0,1]>[0,1,1]>[0,1,1,2]>[0,1,1,2,4]>[0,1,1,2,4,8]>[0,1,1,2,4,8,16]>etc.
puanlama:
Bu kod golf , bu yüzden bayt içindeki en düşük puan kazanır.
N=1
istiyorsanız, soruda bunu söylemek isteyebilirsiniz, çünkü birçok cevap (mevcut tüm cevaplar dahil, bence) kesinlikle artan bir seriyi kabul eden bir başarısızlık durumuna sahip olacaktır. Ayrıca edebilir X
ve Y
negatif? Bu muhtemelen mevcut tüm cevapları geçersiz kılacaktır.
8,1,8,9
ve 9,1,8,9
emin olmak için N=1
vaka işleme olmayan tekrarlanan algılar X
değeri yanı sıra Y
değerini. ( 0,0
Davaları ele almak istiyorsanız, bunu da eklemelisiniz.)
N==1
çok garip bir durum.