📅  最后修改于: 2023-12-03 15:41:26.324000             🧑  作者: Mango
斐波那契数列是指:0、1、1、2、3、5、8、13、21、34、……,即第一项为0,第二项为1,后续项均为前两项之和。
本篇介绍如何计算某一个数范围内的斐波那契数之和。
通过递归或循环的方式计算斐波那契数列,并在计算过程中进行求和。
以下为 Python 代码实现(递归方式):
def fib(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
def sum_of_fib_within_range(l, r):
if l > r:
return 0
else:
return fib(l) + sum_of_fib_within_range(l+1, r)
以下为 Python 代码实现(循环方式):
def sum_of_fib_within_range(l, r):
if l > r:
return 0
elif l == r:
return fib(l)
else:
a, b = 0, 1
c = a + b
s = 0
while c <= r:
if c >= l:
s += c
a, b = b, c
c = a + b
return s
print(sum_of_fib_within_range(1, 10)) # 输出:44