这样就行不用数组:
#include <iostream>
using namespace std;
long long n,a=1,b=1,c=1,sum=0;
long long ans(int num){
if(num<4)
return 1;
else{
for(int i=3;i<num;i++){
sum=(a+b+c)%10000;
a=b;
b=c;
c=sum;
}
return sum;
}
}
int main(){
cin>>n;
cout<<ans(n)+90000<<endl;
return 0;
}
比较简单啊,只需要最后四位的话,你不需要记录前面更多的位数,当值大于10000时,你就把值求余10000就行了