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;
}

C++快速幂运算_第1张图片

你可能感兴趣的:(C++快速幂运算)