打表每次计算取余。
#include<iostream>
using namespace std;
int n,ans,p[1000002];
int main(){
cin>>n;
p[1]=1;p[2]=1;
if(n>=3){
for(int i=3;i<=n;i++){
p[i]=(p[i-1]+p[i-2])%10007;
}
ans=p[n];
}
else ans=1;
cout<<ans<<endl;
return 0;
}
原文:https://www.cnblogs.com/kidyff/p/13771495.html