计算第一个有1000位数字的斐波那契数(Project Euler#25)



奇怪的是,当我知道它是第4782个斐波那契数时,我的代码给了我第4781个数字(我正在和一个朋友比较)。不过,在我的代码能够完成之前,我不想提交。

这是我的代码:

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和1,而不是1和2。

最新更新