斐波那契数列中的每一项都是前两项的和。由1和2开始生成的斐波那契数列前10项为
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
考虑该斐波那契数列中不超过四百万的项,求其中为偶数的项之和。
1 # coding=utf-8 2 lis =[] 3 for i in range(4000001): 4 if i ==0 or i ==1:#第1,2项 都为1 5 lis.append(1) 6 else: 7 lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和 8 del lis[0] #删除一项是1的 9 c=0 10 for d in range (len(lis)): 11 if d % 2!=0: 12 f=int(lis[d]) 13 c+=f 14 print(c)
运行结果嘛。。。。因为4000000有点大,笔者电脑不是很好,所以运行的时候直接就卡停了,就没有结果出来了。
不过用小的得数测试过,代码算法是对的。