Generatore di sequenze di Fibonacci in Python
Esegui e comprendi la sequenza di Fibonacci in Python. Questo esempio di codice interattivo mostra approcci iterativi e ricorsivi per generare numeri di Fibonacci.
Panoramica
La sequenza di Fibonacci è una serie di numeri in cui un numero è la somma degli ultimi due numeri, iniziando da 0 e 1.
È un classico problema di informatica, spesso utilizzato per insegnare la ricorsione, la programmazione dinamica e l'iterazione di cicli.
In Python, possiamo generare la sequenza di Fibonacci in modo efficiente utilizzando un ciclo (approccio iterativo) che evita i rischi di overflow dello stack della ricorsione profonda.
Codice e output di esecuzione
Questo script genera i primi N numeri della sequenza di Fibonacci utilizzando un ciclo while altamente efficiente.
def generate_fibonacci(n):
fib_list = []
a, b = 0, 1
while len(fib_list) < n:
fib_list.append(a)
a, b = b, a + b
return fib_list
# Generate the first 10 Fibonacci numbers
terms = 10
result = generate_fibonacci(terms)
print(f"First {terms} Fibonacci numbers:")
print(result)First 10 Fibonacci numbers:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]Implementazione passo dopo passo
- Analisi degli algoritmi e test di ottimizzazione
- Modellare matematicamente i modelli di crescita biologica
- Preparazione al colloquio tecnico
Domande frequenti
L’approccio ricorsivo di Fibonacci è migliore?
Nella maggior parte dei casi di codici di produzione, no. Il semplice approccio ricorsivo viene eseguito nel tempo O(2^n), che è incredibilmente lento. Il ciclo iterativo viene eseguito in O(n) rendendolo di gran lunga superiore a meno che non venga utilizzata la memorizzazione.
Argomenti correlati
Controlla se un numero è primo usando Python. Esegui il nostro algoritmo interattivo per vedere un'iterazione matematica efficiente e una valutazione della radice.
Script per calcolatrice semplice PythonCostruisci una calcolatrice di base in Python. Scopri come mappare gli operatori matematici, gestire i flussi di esecuzione degli utenti e gestire la logica in modo nativo.