我正在尝试用Python解决Project Euler的问题#2:
考虑Fibonacci序列中的值,而不是 超过四百万,找到偶数值的总和。
我的解决方案似乎正在崩溃我的Jupyter笔记本,尽管它具有概念意义:
f = [1,2]
for i in range(0,4000001):
if (i%2 == 0):
fibo_last = f[-1]+f[-2]
f.append(fibo_last)
print sum(f)
我很好奇为什么我的解决方案似乎只适用于小值
答案 0 :(得分:0)
答案很简单,你没有得到这个值,因为价值如此之大,看看斐波那契的输出为400:
176023680645013966468226945392411250770384383304492191886725992896575345044216019675
我不想告诉你怎么做,如果你看,有很多方法,如果你坚持,我可以添加一个解决方案,但我认为你的问题是为什么?< / strong>而不是如何。因此,您必须重新创建算法以提高效率。