Sequenza di Fibonacci in Python
- Usa la formula matematica per creare una sequenza di Fibonacci in Python
-
Usa il cicli
for
per creare una sequenza di Fibonacci in Python - Usa una funzione ricorsiva per creare una sequenza di Fibonacci in Python
- Usa il metodo di programmazione dinamica per creare una sequenza di Fibonacci in Python
La sequenza di Fibonacci è una serie comune e usata di frequente in matematica. È mostrato di seguito.
0,1,1,2,3,5,8,13,21,34,55,89,144,229....
Il numero successivo nella sequenza di Fibonacci è la somma dei due numeri precedenti e può essere mostrato matematicamente come Fn = Fn-1 + Fn-2
.
Il primo e il secondo elemento della serie sono rispettivamente 0 e 1.
In questo tutorial, discuteremo come creare una sequenza di questo tipo in Python.
Usa la formula matematica per creare una sequenza di Fibonacci in Python
Ogni elemento in una sequenza di Fibonacci può essere rappresentato utilizzando la seguente formula matematica.
Possiamo implementare questa formula in Python per trovare la serie fino al numero richiesto e stampare la sequenza. Il codice seguente mostra come.
from math import sqrt
def F(n):
return ((1 + sqrt(5)) ** n - (1 - sqrt(5)) ** n) / (2 ** n * sqrt(5))
def Fibonacci(startNumber, endNumber):
n = 0
cur = F(n)
while cur <= endNumber:
if startNumber <= cur:
print(cur)
n += 1
cur = F(n)
Fibonacci(1, 100)
Produzione:
1.0
1.0
2.0
3.0000000000000004
5.000000000000001
8.000000000000002
13.000000000000002
21.000000000000004
34.00000000000001
55.000000000000014
89.00000000000003
La funzione Fibonacci()
calcola il numero di Fibonacci in una certa posizione in una sequenza specificata dal numero iniziale e finale.
Usa il cicli for
per creare una sequenza di Fibonacci in Python
Creeremo una funzione usando il cicli for
per implementare la serie richiesta. In questo metodo, stamperemo una sequenza di una lunghezza richiesta. Useremo solo il cicli for
per iterare alla lunghezza richiesta e alterare le variabili richieste ad ogni iterazione. Il codice seguente spiega come:
def fibonacci_iter(n):
a = 1
b = 1
if n == 1:
print("0")
elif n == 2:
print("0", "1")
else:
print("0")
print(a)
print(b)
for i in range(n - 3):
total = a + b
b = a
a = total
print(total)
fibonacci_iter(8)
Produzione:
0
1
1
2
3
5
8
13
Usa una funzione ricorsiva per creare una sequenza di Fibonacci in Python
Una funzione ricorsiva è una funzione che chiama se stessa e tali metodi possono ridurre la complessità temporale ma utilizzare più memoria. Possiamo creare una tale funzione per restituire il numero di Fibonacci e stampare la serie richiesta utilizzando un cicli for
.
Per esempio,
def rec_fib(n):
if n > 1:
return rec_fib(n - 1) + rec_fib(n - 2)
return n
for i in range(10):
print(rec_fib(i))
Produzione:
0
1
1
2
3
5
8
13
21
34
Usa il metodo di programmazione dinamica per creare una sequenza di Fibonacci in Python
La programmazione dinamica è un metodo in cui dividiamo i problemi in sotto-problemi e memorizziamo i valori di questi sotto-problemi per trovare soluzioni. Questo metodo viene solitamente utilizzato per ottimizzare i problemi e può essere utilizzato per generare la sequenza di Fibonacci come mostrato di seguito:
def fibonacci(num):
arr = [0, 1]
if num == 1:
print("0")
elif num == 2:
print("[0,", "1]")
else:
while len(arr) < num:
arr.append(0)
if num == 0 or num == 1:
return 1
else:
arr[0] = 0
arr[1] = 1
for i in range(2, num):
arr[i] = arr[i - 1] + arr[i - 2]
print(arr)
fibonacci(10)
Produzione:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Notare che la sequenza è memorizzata in un array in questo metodo.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn