Ce n'est pas très connu, mais ce que nous appelons la séquence de Fibonacci, AKA
1, 1, 2, 3, 5, 8, 13, 21, 34...
est en fait appelé la séquence de Duonacci . En effet, pour obtenir le nombre suivant, vous devez additionner les 2 chiffres précédents. Il y a aussi la séquence Tribonacci ,
1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201...
car le nombre suivant est la somme des 3 derniers chiffres. Et la séquence de Quadronacci
1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673...
Et la séquence favorite de tous, la séquence Pentanacci :
1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129...
Et la séquence d' Hexanacci , la séquence de Septanacci , la séquence d' Octonacci , etc. et ainsi de suite jusqu'à la séquence de N-Bonacci.
La séquence N-bonacci commencera toujours par N 1 sur une ligne.
Le défi
Vous devez écrire une fonction ou un programme qui prend deux nombres N et X et imprime les premiers nombres X N-Bonacci. N sera un nombre entier supérieur à 0, et vous pouvez sans risque supposer qu'aucun nombre N-Bonacci ne dépassera le type de nombre par défaut dans votre langue. La sortie peut être dans n'importe quel format lisible par l'homme, et vous pouvez prendre les entrées de toute manière raisonnable. (Arguments de ligne de commande, arguments de fonction, STDIN, etc.)
Comme d'habitude, il s'agit de Code-golf, donc les échappatoires standard s'appliquent et la réponse la plus courte en octets l'emporte!
Échantillon 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
comme la troisième position 0 + 1 + 1
? ... et ainsi l'un avec les autres?