你好,我一直在尝试做与欧拉项目问题2(即所有小于4000000的偶数斐波那契数之和)相反的事情。我试图打印所有奇数斐波那契数的总和小于2000000,但我似乎无法得到正确的答案。这是我目前掌握的密码
fib1 = 1
fib2 = 2
fibholder = 0 #place holder for the new value
Sum = 0
while fibholder<2000000:
fibholder = fib1 + fib2
if fibholder%2==1:
Sum+=fibholder
fib1 = fib2
fib2 = fibholder
print(Sum)
您跳过序列中的前两个奇数,并在求和中包含第一个大于2000000的奇数,因为在while循环检查值是否小于您的限制之前,您将计算下一个fibonacci数并增加总数。您可以通过初始化变量以包含序列的开头,并将序列中下一个数字的计算移到while循环的结尾来更正现有方法。你知道吗
也就是说,如果只生成奇数斐波那契数,然后处理求和,那么逻辑可能更容易理解。你知道吗
相关问题 更多 >
编程相关推荐