C++快速幂运算

 
long long pow_2(int b) {
long x = 2;
long res = 1;
while (b > 0) {
if (b & 1)
res *= x;
b >>= 1;//右移一位
x = x * x;
}
return res;
}

long long pow_n(long long n, long long m) {
long long ans = 1;
while (n != 0) {
if (n & 1 == 1)
ans = (ans * m) % MOD;
m = (m * m) % MOD;
n >>= 1;
}
return ans;
}

posted @ 2020-07-08 18:34  HDAWN  阅读(463)  评论(0编辑  收藏  举报