sfondo
Quasi tutti hanno familiarità con i numeri di Fibonacci F(n) :
0, 1, 1, 2, 3, 5, 8, 13, 21 ...
Questi sono formati dalla funzione di ricorsione F(n) = F(n-1) + F(n-2)con F(0)=0e F(1)=1. A000045
Una sequenza strettamente correlata sono i numeri di Lucas L(m) :
2, 1, 3, 4, 7, 11, 18, 29 ...
Questi sono formati dalla funzione di ricorsione L(m) = L(m-1) + L(m-2)con L(0)=2e L(1)=1. A000032
Possiamo alternare le due sequenze basate su indici pari / dispari, con la costruzione
A(x) = F(x)if x mod 2 = 0e A(x) = L(x)altrimenti. Ad esempio, A(4)è uguale a F(4)da 4 mod 2 = 0. Chiameremo questa sequenza i numeri di Lucas-Nacci , A(x):
0, 1, 1, 4, 3, 11, 8, 29, 21, 76 ...
Questo può essere formato dalla funzione ricorsione A(x) = 3*A(x-2) - A(x-4)con A(0)=0, A(1)=1, A(2)=1e A(3)=4. A005013
Sfida
Dato input n, emette la sequenza di n+1numeri fino a e incluso A(n)come descritto sopra. Vince il minor numero di byte (o equivalenti a byte, come per LabVIEW , determinati individualmente su Meta).
Ingresso
Un singolo numero intero non negativo n.
Produzione
Un elenco di numeri che corrispondono alla sottosequenza dei numeri di Lucas-nacci da A(0)a A(n). L'elenco deve essere in ordine sequenziale come descritto sopra.
Regole
- Si applicano le regole standard del code-golf e le restrizioni di scappatoia .
- Si applicano le regole standard di input / output .
- Il numero di input può essere in qualsiasi formato adatto: unario o decimale, letto da STDIN, argomento della riga di comando o della funzione, ecc. - a scelta.
- L'output può essere stampato su STDOUT o restituito come risultato della chiamata di funzione. Se stampati, devono essere inclusi delimitatori adatti per differenziare i numeri (separati da spazio, separati da virgola, ecc.).
- Inoltre, se l'output su STDOUT, gli spazi bianchi circostanti, la nuova riga finale, ecc. Sono tutti facoltativi.
- Se l'input è un numero intero o un numero intero negativo, il programma può fare qualsiasi cosa o nulla, poiché il comportamento non è definito.
Esempi
Input -> Output
0 -> 0
5 -> 0, 1, 1, 4, 3, 11
18 -> 0, 1, 1, 4, 3, 11, 8, 29, 21, 76, 55, 199, 144, 521, 377, 1364, 987, 3571, 2584