刚开始我直接写了一个递归函数用来计算,最后结果超时。。因为如果数很大的话就需要递归很多次,所以超时。
正确代码:
#include<iostream>
int mod=10007;
using namespace std;
int a[1000001];
int main( )
{
a[0]=a[1]=1;
int n;
cin>>n;
for(int i=2;i<1000001;i++)
a[i]=(a[i-1]+a[i-2])%mod;
cout<<a[n-1]<<endl;
return 0;
}