C'è una domanda ben nota qui che richiede un generatore di sequenza fibonacci breve (meno caratteri).
Vorrei sapere se qualcuno può generare solo i primi N elementi, della sequenza fibonacci, in uno spazio molto breve. Sto cercando di farlo in Python, ma sono interessato a qualsiasi risposta breve, in qualsiasi lingua. La funzione F (N) genera i primi N elementi della sequenza, o li restituisce come ritorno della funzione o li stampa.
È interessante notare che le risposte di code-golf iniziano con 1 1 2
, invece di 0 1 1 2
. È una convenzione nel code-golf o nella programmazione in generale? (Wikipedia dice che la sequenza dei fibonacci inizia con zero.)
Esempio Python (primi 5 elementi):
def f(i,j,n):
if n>0:
print i;
f(j,i+j,n-1)
f(1,1,5)
F_0 = 0, F_1 = 1
o equivalentemente F_1 = 1, F_2 = 1
. La differenza è se si desidera iniziare la sequenza dall'indice 0 (più comune in programmazione) o 1 (più comune in matematica).
F_0 = 0, F_1 = 1
ha un chiaro vantaggio nella semplicità con la rappresentazione matriciale [[1 1][1 0]]^n = [[F_{n+1} F_n][F_n F_{n-1}]]
.