def fibonacci(n):
first = 0
second = 1
count = 0
while count <= n:
if (second % 2 == 0):
first, second = second, first + second
count += 1
return first, second
print (fibonacci(4000000))
有人能解释一下这个代码有什么问题吗?在空闲状态下,页面重新启动,但不返回任何答案。顺便说一句,我只是个程序员而已。你知道吗
Tags:
问题是if语句中有count变量。您创建了一个无限while循环。将其移到if语句之外:
此外,您还必须添加更多的代码,使其正常工作。你知道吗
因为这是针对Problem 2 of Project Euler,所以计算的值是错误的。它要求所有偶数斐波那契数的总和达到400万,而不是第400万。那就太大了。你知道吗
因为我们希望不断生成值,所以我们将使用生成器并将其与^{} 组合。然后我们将^{} 转换为偶数,然后找到^{} 。你知道吗
你知道吗
对于不使用这些功能的解决方案:
你知道吗
second % 2
以1开头,这并不奇怪。因此,您的while
循环不会在体内运行任何东西,因此循环将永远运行。你知道吗您可能希望总是计算下一个Fibonacci数,但仅当
second
为偶数时才增加计数。你知道吗相关问题 更多 >
编程相关推荐