问题描述:
The Fibonacci sequence is defined by the recurrence relation:
Fn = Fn1 + Fn2,
where F1 = 1 and F2 = 1.
Hence the first 12 terms will be:
F1 = 1
F2 = 1
F3 = 2
F4 = 3
F5 = 5
F6 = 8
F7 = 13
F8 = 21
F9 = 34
F10 = 55
F11 = 89
F12 = 144
The 12th term, F12, is the first term to contain three digits.
What is the first term in the Fibonacci sequence to contain 1000 digits?
翻译:
Fibonacci数列的定义如下:
Fn
= Fn-1
+ Fn-2,且F1
= 1, F2
= 1。
于是前12个Fibonacci数就是:
- F1
= 1 - F2
= 1 - F3
= 2 - F4
= 3 - F5
= 5 - F6
= 8 - F7
= 13 - F8
= 21 - F9
= 34 - F10
= 55 - F11
= 89 - F12
= 144
第十二项F12,是第一个达到三位数的Fibonacci数。
第一个达到1000位的Fibonacci数又是多少呢?
解答:
def isok(a): count=0 while a>0: a/=10 count+=1 if count==1000: return True return False a,b,c=1,1,0 count=2 while True: c=a+b count+=1 if isok(c): break a=b b=c print count
projecteuler---->problem=25----1000-digit Fibonacci number
时间: 2024-08-29 23:22:08