gpt4 book ai didi

python - 通过考虑斐波那契数列中值不超过四百万的项,求偶数项的总和

转载 作者:行者123 更新时间:2023-12-02 09:00:23 24 4
gpt4 key购买 nike

寻求有关此项目的帮助 欧拉问题:通过考虑斐波那契数列中值不超过四百万的项,找到偶数项的总和。

我确信还有其他更简单的方法可以做到这一点,但我才刚刚开始!我已经设法让代码输出斐波那契序列偶数项的总和,但我不知道如何将输出限制设置为四百万(我刚刚设置范围 1 - 10 进行测试)。无论如何,是否可以使用我编写的当前代码来执行此操作,而不是重新开始?

def fibonacci(n): 
if n==0:
return 0
elif n==1 or n==2:
return 1
elif n>2:
return (fibonacci(n-1)+fibonacci(n-2))


fib_list=[fibonacci(n) for n in range (1, 10) if fibonacci(n)%2==0]
fib_even=sum(fib_list)
print(fib_list)
print(fib_even)

最佳答案

您可以使用内置函数sumfilter:

def fib(limit):
a, b = 0, 1
while a < limit:
yield a
a, b = b, a + b

sum(filter(lambda x: x%2==0, fib(4_000_000)))

输出:

4613732

fib 函数将生成所有斐波那契数,而 filter 函数将过滤掉那些非偶数,最后,sum 内置函数将所有偶数相加

关于python - 通过考虑斐波那契数列中值不超过四百万的项,求偶数项的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60914084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com