poj 3734
生成函数,费马小定理,快速幂。
费马小定理:若p为素数,则对于任意小于p的正整数a,有a^(p-1)≡1(mod p).
代码:
#include<iostream> #include<fstream> #include<cmath> using namespace std; int solve(int s){ int i,j,k; if(s==1) return 2; if(s==0) return 1; i=solve(s/2); if(s%2) { return (i*i*2)%10007; } else return (i*i)%10007; } void read(){ int i,j,k,s; cin>>k; while(k--) { cin>>i; j=solve((i-1)%10006); s=solve((2*(i-1))%10006); cout<<(j+s)%10007<<endl; } } int main(){ read(); return 0; }