La sequenza di Fibonacci è definita dalla relazione ricorsiva:
Fn = Fn1 + Fn2, dove F1 = 1 e F2 = 1.
Quindi i primi 12 termini saranno:
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
Il 12esimo termine, F12, è il primo termine di 3 cifre.
Qual è il primo termine nella sequenza di Fibonacci che contiene 1000 cifre?
Beh, alla fine è facile, ho voluto farlo in modo simpatico creandomi un generatore...
Codice:
def fibonacci():
t1=1
t2=1
yield str(t1)
yield str(t2)
while True:
yield str(t1+t2)
old=t1
t1=t2
t2+=old
a=fibonacci()
count=1
while True:
if len(a.next())==1000:
print count
break
else:
count+=1
continue