一,简介
计算A^B;
比如2^100;
100 = 64 + 32 + 4;对应二进制(1100100)
2^100 = 2^64 + 2^32 + 2^4;
(a+b)% M = (a%M + b%M)%M
#define ll long long
ll pow(ll a, ll b){
ll base = a, r = 1;
while(b){
if(b & 1) r = (r * base) % mod;
base = (base * base) % mod;
b >> 1;
}
return r % mod;
}
ll mo(ll a, ll b){//a*b%m
ll ans = 0;
while(b){
if(b & 1) ans = (ans + a) % mod;
b >>= 1;
a = (a << 1) % mod;
}
}