Dies ist nicht sehr bekannt, aber was wir die Fibonacci-Sequenz, AKA, nennen
1, 1, 2, 3, 5, 8, 13, 21, 34...
heißt eigentlich die Duonacci- Sequenz. Dies liegt daran, dass Sie die vorherigen 2 Zahlen summieren, um die nächste Zahl zu erhalten. Es gibt auch die Tribonacci- Sequenz,
1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201...
weil die nächste Zahl die Summe der vorherigen 3 Zahlen ist. Und die Quadronacci- Sequenz
1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673...
Und jedermanns Liebling, die Pentanacci- Sequenz:
1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129...
Und die Hexanacci- Sequenz, die Septanacci- Sequenz, die Octonacci- Sequenz und so weiter bis zur N-Bonacci-Sequenz.
Die N-Bonacci-Sequenz beginnt immer mit N Einsen in einer Reihe.
Die Herausforderung
Sie müssen eine Funktion oder ein Programm schreiben, die bzw. das zwei Zahlen N und X annimmt und die ersten X N-Bonacci-Zahlen ausgibt. N ist eine ganze Zahl größer als 0, und Sie können davon ausgehen, dass keine N-Bonacci-Zahlen den in Ihrer Sprache voreingestellten Zahlentyp überschreiten. Die Ausgabe kann in jedem für Menschen lesbaren Format erfolgen, und Sie können Eingaben auf jede vernünftige Weise vornehmen. (Befehlszeilenargumente, Funktionsargumente, STDIN usw.)
Wie üblich ist dies Code-Golf, daher gelten Standardlücken und die kürzeste Antwort in Bytes gewinnt!
Beispiel 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
die dritte Position 0 + 1 + 1
? ... und so eins mit den anderen?