解题思路:
1.使用数组来保存F序列,只保存除10007的余数。
2.先令F[1]=1, F[2]=1,然后用F[i]=(F[i-1]+F[i-2])%10007来计算F[i]。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n,*f;
scanf("%d",&n);
f=malloc((n+1)*sizeof(int));
f[1]=f[2]=1;
for(i=3;i<=n;i++){
f[i]=(f[i-1]+f[i-2])%10007;
}
printf("%d\n",f[n]);
return 0;
}