【发布时间】:2012-04-19 16:23:06
【问题描述】:
我在使用 Project Euler 的 problem 2 时遇到问题。目标是找出斐波那契数列中其值不超过四百万的偶数项之和。出于某种原因,我一直得到 0 作为我的输出。我做错了什么?
total = 0
count = 0
term = 0
fibonacciMemo = {0:0, 1:1}
def main ():
term = fibonacci (count)
while (term <= 4000000):
if (term % 2 == 0):
total += term
count += 1
def fibonacci (n):
if not n in fibonacciMemo:
fibonacciMemo [n] = fibonacci (n - 1) + fibonacci (n - 2)
return fibonacciMemo [n]
print (total)
【问题讨论】:
-
您是 Java 还是 C 背景?在 python 中
main不会自动调用。您需要显式调用您的函数才能执行。 -
是的,我有 C++ 背景。我刚刚开始学习 Python。很高兴知道 main 不是自动的 - 谢谢。
标签: python fibonacci memoization