斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
pre_2 = 1
pre_1 = 2
sum_ = 2
# 第三位开始,依次求解当前斐波那契数,是偶数则相加
while 1:
temp = pre_2 + pre_1
if temp > 4000000:
break
if temp % 2 == 0:
sum_ += temp
pre_2 = pre_1
pre_1 = temp
print(sum_)
# 斐波那契数列从第2位开始,隔2个是偶数
while 1:
temp = 2 * pre_2 + 3 * pre_1
if temp > 4000000:
break
sum_ += temp
pre_2 = pre_2 + 2 * pre_1
pre_1 = temp
print(sum_)