在 Python 中查找最多第 n 项的斐波那契数列结果的程序
假设我们有一个数字n。我们必须找到前n个斐波那契项的总和(最多n个项的斐波那契数列)。如果答案太大,则返回结果模10^8+7。
所以,如果输入像n=8,那么输出将是33,因为前几个斐波那契项是0+1+1+2+3+5+8+13=33
示例
让我们看看以下实现以获得更好的理解-
m = 10**8+7 memo = {} def solve(n, m): if n in memo: return memo[n] memo[n] = n if n < 2 else (solve(n-1, m)+solve(n-2, m)) % m return memo[n] n = 8 solve(n, m) print(sum(list(memo.values())[:n]))
输入
8输出结果
33