Nie jest to bardzo znane, ale to, co nazywamy sekwencją Fibonacciego, AKA
1, 1, 2, 3, 5, 8, 13, 21, 34...
nazywa się właściwie sekwencją Duonacciego . Jest tak, ponieważ aby uzyskać następny numer, sumujesz poprzednie 2 liczby. Istnieje również sekwencja Tribonacci ,
1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201...
ponieważ następny numer jest sumą poprzednich 3 liczb. I sekwencja Quadronacciego
1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673...
I ulubieniec wszystkich, sekwencja Pentanacciego :
1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129...
I sekwencja Hexanacciego, sekwencja Septanacciego, sekwencja Octonacciego i tak dalej, i tak dalej aż do sekwencji N-Bonacciego.
Sekwencja N-bonacci zawsze zaczyna się od N 1s z rzędu.
Wyzwanie
Musisz napisać funkcję lub program, który przyjmuje dwie liczby N i X i wypisuje pierwsze liczby X N-Bonacci. N będzie liczbą całkowitą większą niż 0 i możesz bezpiecznie założyć, że żadne liczby N-Bonacci nie przekroczą domyślnego typu liczb w twoim języku. Dane wyjściowe mogą być w dowolnym formacie czytelnym dla człowieka, a dane wejściowe można przyjmować w dowolny rozsądny sposób. (Argumenty wiersza poleceń, argumenty funkcji, STDIN itp.)
Jak zwykle jest to gra w golfa, więc obowiązują standardowe luki i wygrywa najkrótsza odpowiedź w bajtach!
Próbka 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
na trzeciej pozycji 0 + 1 + 1
? ... a więc jedno z innymi?