400万内斐波那契数的偶数之和(Project Euler Problem 2)

来源:互联网 发布:iphone8移动数据 编辑:程序博客网 时间:2024/05/04 06:03

题目原文:

意思是:求400万内斐波那契数的偶数之和


我的一个解法:

1 不够严谨

2 效率较低

def fibonacci(n):    """递归函数       输出斐波那契数列"""    if n <= 1:        return n    else:        return (fibonacci(n - 1) + fibonacci(n - 2))index =0count =0fibNum =1while fibNum < 4000000:    index+=1    fibNum = fibonacci(index) #当前索引的斐波那契    if fibNum %2 ==0:        count += fibNumprint(count)

一个更加高效的解法:

limit = 4000000sum = 0a = 1b = 1while b < limit:    if b % 2 == 0:        sum += b    h = a + b    a = b  #前一个斐波那契额数    b = h  #当前斐波那契数print(sum)



源码和官方解答:https://yunpan.cn/cvwfYpphfgz3a 访问密码 bfc7

0 0
原创粉丝点击