Bu çok yaygın olarak bilinmese de, Fibonacci dizisi AKA dediğimiz
1, 1, 2, 3, 5, 8, 13, 21, 34...
aslında Duonacci dizisi olarak adlandırılır . Bunun nedeni bir sonraki sayıyı almak için önceki 2 sayıyı toplamanızdır. Ayrıca Tribonacci dizisi var.
1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201...
çünkü bir sonraki sayı önceki 3 sayının toplamıdır. Ve Quadronacci dizisi
1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673...
Ve herkesin favorisi, Pentanacci dizisi:
1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129...
Ve Hexanacci dizisi, Septanacci dizisi, Octonacci dizisi ve benzeri, N-Bonacci dizisine kadar devam eder.
N-bonacci dizisi daima arka arkaya N 1 ile başlar .
Meydan okuma
İki sayı N ve X alan ve ilk X N-Bonacci sayılarını yazan bir işlev veya program yazmalısınız. N, 0'dan büyük bir tam sayı olacaktır ve hiçbir N-Bonacci sayısının, dilinizdeki varsayılan sayı türünü aşmayacağını güvenle kabul edebilirsiniz. Çıktı, insan tarafından okunabilir herhangi bir biçimde olabilir ve herhangi bir makul şekilde girdi alabilirsiniz. (Komut satırı argümanları, fonksiyon argümanları, STDIN, vs.)
Her zaman olduğu gibi, bu Code-golf, bu yüzden standart boşluklar geçerli ve bayt cinsinden en kısa cevap kazanıyor!
Örnek io
#n, x, output
3, 8 --> 1, 1, 1, 3, 5, 9, 17, 31
7, 13 --> 1, 1, 1, 1, 1, 1, 1, 7, 13, 25, 49, 97, 193
1, 20 --> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
30, 4 --> 1, 1, 1, 1 //Since the first 30 are all 1's
5, 11 --> 1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129
1, 1, 2, 4, 7
üçüncü pozisyondaki gibi olmaz 0 + 1 + 1
mıydı? ... ve diğeriyle biri?