用1000位数计算第一个Fibonacci数(Project Euler#25)

时间:2013-08-09 00:12:22

标签: python

奇怪的是,我的代码给了我第4781个数字,当我知道它是第4782个斐波纳契数(我和朋友比较)。我不想提交,直到我的代码可以做到。

这是我的代码:

import sys
FibNums = []
a=1
b=2
c=3
FibNums.append(a)
FibNums.append(b)
FibNums.append(c)
for i in range(1, sys.maxsize):
    a = b
    b = c
    c = a + b
    FibNums.append(c)
    if len(str(c)) == 1000:
         break
 print (len(FibNums))

任何人都可以帮我找到错误吗?我检查了,我的列表没有跳过任何东西(它确实包含1作为第一个索引)。谢谢!

1 个答案:

答案 0 :(得分:9)

前两个斐波纳契数是1和1,而不是1和2。