📜  找出前N个奇数斐波纳契数的总和(1)

📅  最后修改于: 2023-12-03 15:10:05.030000             🧑  作者: Mango

找出前N个奇数斐波纳契数的总和

介绍

斐波纳契数列是指每个数都是前两个数之和的数列,其中第一个和第二个数的值均为1,通式为:F(n)=F(n-1)+F(n-2)。

本题需要找出斐波纳契数列中前N个奇数的总和。我们可以通过循环迭代计算斐波纳契数列,并判断每个数是否为奇数,如果是奇数则将其加入总和中。

示例

当N=6时,前N个奇数斐波纳契数分别为:1, 1, 3, 5, 13, 21。它们的总和为44。

代码实现
def fibonacci_sum(n):
    """
    返回斐波纳契数列中前N个奇数的总和
    """
    odd_sum = 0
    a, b = 1, 1
    count = 0
    while count < n:
        if a % 2 == 1:
            odd_sum += a
            count += 1
        a, b = b, a + b
    return odd_sum
测试

我们可以进行测试以验证函数是否正确。

assert fibonacci_sum(1) == 1
assert fibonacci_sum(2) == 2
assert fibonacci_sum(3) == 4
assert fibonacci_sum(4) == 7
assert fibonacci_sum(5) == 12
assert fibonacci_sum(6) == 44