[PIPython] fibonacci
Tiziano a Work
tiziano
Ven 19 Nov 2004 15:16:46 CET
Penso che ti riferisci a questa
def Fibonacci (n):
if n == 0 or n == 1:
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2)
E' una funzione ricorsiva che agisce a ritroso a partire da un numero n > 1
e che si ferma quando raggiunge n <=0.
Lo scopo è di calcolare il valore dell'ennesimo numero di fibonacci.
Se per esempio n=6, Fibonacci(6) deve restituire 8 (ogni termine della serie
di Fibonacci è uguale alla somma dei due termini precedenti), quindi:
1, (0+1)=1, (1+1)=2, (1+2)=3, (2+3)=5, (3+5)=8
L'algoritmo affronta, come dicevo, il problema alla rovescia
Fibonacci(6) = Fibonacci(5) + Fibonacci(4)
= F(4) + F(3) + F(3) + F(2)
= F(3) + F(2) + F(2) + F(1) + F(2) + F(1) + F(1)
= F(2) + F(1) + 1 + 1 + 1 + 1 + 1 + 1 = 8
La funzione è ricorsiva, ad ogni chiamata vengono generate due nuove chiamate.
Questa crescita esponenziale di funzioni aperte termina mano a mano che n=1 o
n=0
chiarito?
ciao
tiziano
Alle 00:39, martedì 15 giugno 2004, babo_g a tiscali.it ha scritto:
> Salve a tutti sono nuovissimo di questa mailing-list e ancora di + della
> programmazione;
>
> Sto iniziando a leggere la giuda del principiante e per ora tutto bene con
> l`unica eccezzione che non ho proprio capito il programma dei fibonacci
> qualcuno sarebbe cosi gentile da spiegarmelo..grazie mille Babo_g
>
> __________________________________________________________________
> Tiscali ADSL libera la velocita'!
> Attiva Senza Canone entro il 14 giugno: navighi a 1,5 euro l'ora per i
> primi 3 mesi,se scegli il modem e' tuo in comodato gratuito e in piu' hai
> gratis SuperMail per 12 mesi. Non aspettare, attivala subito!
> http://abbonati.tiscali.it/adsl/prodotti/640Kbps/
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.zope.it/cgi-bin/mailman/listinfo/python
More information about the Python
mailing list