快速冪的遞歸法
// 求a^b%m
ll binaryPow(ll a, ll b, ll m) {
if (b == 0) return 1;
if (b %2 == 1) {
return a * binaryPow(a, b-1, m) % m;
}
else {
ll tmp = binaryPow(a, b/2, m);
return tmp * tmp % m;
}
}
快速冪的迭代法
// 求a^b%m
ll binaryPow(ll a, ll b, ll m) {
ll ret = 1;
while (b > 0) {
if (b & 1) {
ret = ret * a % m;
}
ret = ret * ret % m;
b >>= 1;
}
return ret;
}
總結
學習不息,繼續加油