python - 计算第一个 1000 位的斐波那契数(欧拉计划 #25)

标签 python

奇怪的是,我的代码给出了第 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/

相关文章:

python - 如何在 Python Pandas 中使用循环更改数据帧?

python - 从数据框中访问项目并使用相同的内容创建一个新项目

python - 不要将模型保存在重复文件上 - Django 2

python - Pandas 爆炸 - 无法从重复的轴重新索引

python - 制作具有精确长度的 sin 'arc'

python - 如何返回 endswith 函数中匹配的元组中的哪个元素

python - 创建可用值的分布 - Python

python - 使用 PyCuda 的遗传细胞自动机,如何有效地将每个细胞的大量数据传递给 CUDA 内核?

python - 在 cdef 类中调用 cdef

python - 多列上的 Pandas cumsum + cumcount