【数论】快速幂
2020-06-11 15:05:00 # ACM

循环

1
2
3
4
5
6
7
8
9
10
#define LL long long
LL qpow(LL n,LL m){
LL ans = 1%mod;
while(m>0){
if(m&1) ans = ans*n%mod;
n = n*n%mod;
m >>= 1;
}
return ans;
}

递归

1
2
3
4
5
6
7
8
9
#define LL long long
LL qpow(LL n,LL m){
if(m==0) return 1%mod;
else if(m&1) return qpow(n,m-1)*n%mod;
else{
LL tmp = qpow(n,m/2)%mod;
return tmp * tmp % mod;
}
}
2020-06-11 15:05:00 # ACM
Next