您的位置:首页 > 其它

projecteuler---->problem=25----1000-digit Fibonacci number

2014-06-09 17:07 501 查看
问题描述:

The Fibonacci sequence is defined by the recurrence relation:

Fn = Fn

1 + Fn

2,
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: