奇怪的是,我的代码给出了第 4781 个数字,而我知道它是第 4782 个斐波那契数(我正在与 friend 比较)。不过,在我的代码可以完成之前,我不想提交。
这是我的代码:
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。
关于python - 计算第一个 1000 位的斐波那契数(欧拉计划 #25),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18138308/