【发布时间】:2021-05-30 03:14:35
【问题描述】:
我希望从其他练习网站解决这个问题。我是 python 新手。
将斐波那契数列视为 1,2,3,5,8,13,21,34,55,89... 我想打印值不超过 N(例如 N=10)的 (1) 斐波那契数列,求偶数项的总和。
(2)和大于N的最小值。
我已经写了以下代码:
N = 10
def fibonacci(n):
if n in fibonacci_cashe:
return fibonacci_cashe[n]
if n==1:
value = 1
elif n == 2:
value = 1
elif n>2:
value = fibonacci(n-2)+fibonacci(n-1)
fibonacci_cashe[n] = value
return value
for i in range(N):
test = fibonacci(N)
#I don't know what I should do here
例如,对于 N=10:
系列是1,2,3,5,8,13,21,34,55,89, 144, 144+89, ...
甚至小于(N=10)的是:2, 8, 34,它们的总和是 44。
大于(N=10)的最小的是:13
你能帮我解决这个问题吗?
非常感谢
【问题讨论】:
-
1) 可以添加预期值吗? 2)你能格式化问题的数量吗?您似乎在问 3 个问题:打印值不超过 N 的 Fib 系列、偶数值之和以及大于 N 的最小值。我理解正确吗?
-
value = fibonacci(n-1)+fibonacci(n-1)应该是value = fibonacci(n-2)+fibonacci(n-1)。实际上,您只是将前一项加倍,而不是添加前两项。此外,“缓存”拼写为“缓存”,而不是“现金”。 -
@ianquah 感谢您的评论。我刚刚编辑了问题。
-
@Tomkarzes 感谢您的评论。我刚刚编辑了它。
标签: python