📜  范围内的斐波那契数之和(1)

📅  最后修改于: 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