本文共 578 字,大约阅读时间需要 1 分钟。
快速幂+找规律
#include #include #include #include #include using namespace std;map C;const int MOD=2008;int n;int fast_power(int a,int b){ int c=1; while(b!=0) { if(b%2==1) c=(c*a)%MOD,b--; else a=(a*a)%MOD,b=b/2; } return c;}int cal (int x){ int ans,i; if(C[x]!=0) return C[x]; else { ans=fast_power(2,x); for(i=1;i*i<=x;i++) { if(i==1) {ans=(ans+MOD-cal(1))%MOD;continue;} if(i*i==x&&i!=1) ans=(ans+MOD-cal(i))%MOD; if(i!=1&&i*i
转载于:https://www.cnblogs.com/zufezzt/p/4660760.html