問題描述
Fibonacci數列的遞推公式爲:Fn=Fn-1+Fn-2,其中F1=F2=1。
當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。
輸入格式
說明:在本題中,答案是要求Fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出Fn的準確值,再將計算的結果除以10007取餘數,直接計算餘數往往比先算出原數再取餘簡單。
樣例輸入
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000001
#define MOD 10007
int n,f[MAX],i;
int main()
{
scanf("%d",&n);
f[1]=1;
f[2]=1;
for(i=3;i<=n;i++)
f[i]=(f[i-1]+f[i-2])%MOD;
printf("%d",f[n]);
return 0;
}