问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
第一种 递归函数
运行超时+运行错误 30分(55到999运行超时,大于1000运行错误)
def digui(n):
if n==1 or n==2:
return 1
else:
return digui(n-1)+digui(n-2)
n=int(input())
print(digui(n))
第二种 for循环
100分
n=int(input())
list=[1,1]
for i in range(3,n+1):
s=list[0]+list[1]
list[0]=list[1]
list[1]=s%10007
print(list[1])