📅  最后修改于: 2023-12-03 15:27:25.089000             🧑  作者: Mango
又给我们一个数列F(N), 定义如下:
F(1) = 1
F(n) = (2 * F(n – 1))%10 ^ 9 + 7
我们要做的是求出F(N)的第一项, 也就是求出F(1).
通过代码实现上述数列的定义,并输出F(1)即可求解。
def F(n):
if n == 1:
return 1
else:
return (2 * F(n-1)) % (10 ** 9 + 7)
# 输出F(1)
print(F(1))
输出结果为1。
这道题目中使用了递归的思想来求解F(N)这个数列。其中当n=1时,数列F(N)的第一项为1,递归结束,返回1即可;当n>1时,需要根据题目的公式进行递归计算,直到递归到n=1的情形结束递归。需要注意的是,当对10^9 + 7取模时,需要使用“%”进行取模运算而不是使用“/”进行整除运算。