La sequenza di Fibonacci si presenta e si presenta in molti modi in matematica e informatica / programmazione. Questo articolo ha lo scopo di descrivere diversi modi in cui potresti vedere Fibonacci apparire e come usare Python per scoprire vari aspetti della sequenza.
Cos'猫 la sequenza di Fibonacci?La sequenza di Fibonacci 猫 una sequenza di numeri naturali, a partire da 1. Funziona cos矛:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ....Questo 猫 un punto importante, perch茅 usando questo puoi calcolare ricorsivamente molti valori della sequenza di Fibonacci. Diamo un'occhiata a cosa possiamo fare!
La sequenza di Fibonacci 猫 una sequenza di numeri naturali che iniziano con 1, 1e l'ennesimo numero di Fibonacci 猫 la somma dei due termini che lo precedono.
Generazione di termini della sequenza di FibonacciDiamo prima un'occhiata a come possiamo generare termini di Fibonacci in modo efficiente. Il modo pi霉 semplice 猫 utilizzare un elenco vuoto e un ciclo for per generare i termini.
Per prima cosa, definiamo le nostre variabili. Definiamo ae bcome i primi due termini nella sequenza, e inizializziamo una lista (con i primi due termini, 1, 1gi脿 al suo interno) denominata series.
Ora codifichiamo il nostro forciclo. Vogliamo che funzioni in un ciclo, generando i ntermini della sequenza di Fibonacci. Ai fini di questo esempio, impostiamo n = 20.
Quello che ho fatto qui 猫 impostare un ciclo for range(2, n). Poich茅 n猫 uguale a 20 in questo esempio, il ciclo for esegue un ciclo per ogni x nell'intervallo [2, n ]. Rientrata all'interno del ciclo 猫 la nostra definizione della sequenza di Fibonacci: che ogni termine 猫 la somma dei 2 termini che lo precedono. Infine, il ciclo aggiunge quel termine all'elenco series.
La stampa seriesd脿 esattamente quello che vogliamo:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]Possiamo trovare l'ennesimo termine usando il codice che abbiamo creato nella sezione precedente. Supponiamo di voler trovare il itermine esimo (sto usando i qui perch茅 n 猫 gi脿 una variabile). Per questo esempio, supponiamo di voler trovare il termine 200.034 della sequenza di Fibonacci.
Ho semplicemente aggiunto un'altra variabile i, e sostituito print(series)con print(series[i - 1]). Ecco il risultato:
192373285415866760557173433121516375224056333183434393978124354879532171146744121900663998692213158072140530482128152339686087292623251900269329431030759110518214979329456400212272402706074377403263085149104405417566753948669711296429582649835058544457983707589484754554876558078026664214361845487674198261493554551752199998272364859229929664626978362056289296383617431515020113224233955551537148621593421931721823689908385768027872232929533372485............................. Trovare la somma dei terminiOra, faremo un ulteriore passo anti e proveremo a trovare la somma dei termini della sequenza di Fibonacci fino al termine n. Cominciamo con il codice originale come sempre:
Ora, dobbiamo solo codificare un altro ciclo for per trovare la somma di tutti i termini nell'elenco series. Per questo esempio, diamo n = 300: la somma dei primi 300 numeri di Fibonacci. Dovrebbe essere facile:
Abbiamo semplicemente detto che per ogni termine nell'elenco series, imposta sum uguale alla somma cumulativa esistente pi霉 quel termine. Quando eseguiamo questo codice, otteniamo il risultato atteso:
581811569836004006491505558634099066259034153405766997246569400Ora che ho coperto tutte le basi della sequenza di Fibonacci, lascia che ti lasci alcune domande su cui riflettere:
Prova a trovare la somma di tutti i termini dispari fino a n = 1000. Prova a trovare la somma di tutti i termini pari fino a n = 1000. Prova a creare uno strumento Python per Fibonacci: lasciando che l'utente inserisca numeri propri