📜  每对两个数组构成的修正斐波那契数列的n个项的总和(1)

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

每对两个数组构成的修正斐波那契数列的n个项的总和

本程序旨在计算每对两个数组构成的修正斐波那契数列的n个项的总和。

算法说明

本程序使用递归算法,每次将两个数组中的前两个数相加,并将结果加到修正斐波那契数列的总和中。然后将数组中的第一个数删除,并继续递归,直到计算出n个项为止。

使用方法

本程序需要两个数组作为输入参数,分别代表修正斐波那契数列的前两个数。同时还需要输入一个整数n,代表需要计算的项数。

def sum_modified_fibonacci(first: List[int], second: List[int], n: int) -> int:
    """
    计算每对两个数组构成的修正斐波那契数列的n个项的总和

    :param first: 修正斐波那契数列的第一项
    :param second: 修正斐波那契数列的第二项
    :param n: 需要计算的项数
    :return: 修正斐波那契数列n个项的总和
    """

    if n == 1:
        return first[0]
    elif n == 2:
        return first[0] + second[0]
    else:
        sum = first[0] + second[0]
        first.pop(0)
        second.pop(0)
        first.append(sum)
        second.append(first[0])
        return sum + sum_modified_fibonacci(first, second, n-1)
输入样例1
first = [2]
second = [1]
n = 6
print(sum_modified_fibonacci(first, second, n))
输出样例1
33
输入样例2
first = [1]
second = [1]
n = 8
print(sum_modified_fibonacci(first, second, n))
输出样例2
54