Questo non è molto conosciuto, ma ciò che chiamiamo sequenza di Fibonacci, AKA
1, 1, 2, 3, 5, 8, 13, 21, 34...
in realtà si chiama sequenza Duonacci . Questo perché per ottenere il numero successivo, si sommano i 2 numeri precedenti. C'è anche la sequenza Tribonacci ,
1, 1, 1, 3, 5, 9, 17, 31, 57, 105, 193, 355, 653, 1201...
perché il numero successivo è la somma dei 3 numeri precedenti. E la sequenza di Quadronacci
1, 1, 1, 1, 4, 7, 13, 25, 49, 94, 181, 349, 673...
E la preferita di tutti, la sequenza Pentanacci :
1, 1, 1, 1, 1, 5, 9, 17, 33, 65, 129...
E la sequenza Hexanacci , la sequenza Septanacci , la sequenza Octonacci e così via e così via fino alla sequenza N-Bonacci.
La sequenza N-bonacci inizierà sempre con N 1 di fila.
La sfida
È necessario scrivere una funzione o un programma che accetta due numeri N e X e stampa i primi numeri X N-Bonacci. N sarà un numero intero maggiore di 0 e puoi tranquillamente supporre che nessun numero N-Bonacci superi il tipo di numero predefinito nella tua lingua. L'output può essere in qualsiasi formato leggibile dall'uomo e puoi prendere input in qualsiasi modo ragionevole. (Argomenti della riga di comando, argomenti delle funzioni, STDIN, ecc.)
Come al solito, si tratta di Code-golf, quindi si applicano scappatoie standard e vince la risposta più breve in byte!
IO di esempio
#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
come la terza posizione 0 + 1 + 1
? ... e così uno con gli altri?