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

foo*_*209 2 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))
Run Code Online (Sandbox Code Playgroud)

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

Tav*_*nes 9

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