这个脚本可以给我
所有斐波那契数字最高为4000000
给我所有偶数的总和,最高可达4000000.
但它不能满足下面的要求,我想知道如何做到这一点。
我的剧本:
#Problem 2
P2 = 0
fib= 0
f1 = 1
f2 = 0
debugP2 = []
while fib < 4000000:
fib = f1 + f2
f2 = f1
f1 = fib
if fib % 2 == 0:
P2 += fib
debugP2.append(fib)
print(debugP2)
print(fib)
问题是:
Fibonacci序列中的每个新术语都是通过添加前两个术语生成的 从1和2开始,前10个术语将是:
1,2,3,5,8,13,21,34,55,89,......
考虑Fibonacci序列中的值不超过4的项 百万,找到偶数值的总和。
答案 0 :(得分:2)
您应该打印P2
而不是fib
。
#Problem 2
P2 = 0
fib= 0
f1 = 1
f2 = 0
debugP2 = []
while fib < 4000000:
fib = f1 + f2
f2 = f1
f1 = fib
if fib % 2 == 0:
P2 += fib
debugP2.append(fib)
print(P2) # Its not fib
<强>输出强>
4613732
修改:您可以像这样缩短您的程序
P2, fib, f1, f2 = 0, 0, 1, 0
while fib < 4000000:
fib, f2 = f1 + f2, f1
f1 = fib
if fib % 2 == 0:
P2 += fib
print(P2) # Its not fib
<强>输出强>
4613732