快速幂算法c++取模
时间: 2023-11-25 08:52:34 浏览: 207
C++快速幂与大数取模算法示例
以下是C++实现快速幂取模的代码,其中a为底数,b为指数,mod为模数:
```cpp
long long quickPow(long long a, long long b, long long mod) {
long long res = 1;
while (b > 0) {
if (b & 1) {
res = res * a % mod;
}
a = a * a % mod;
b >>= 1;
}
return res;
}
```
该算法的时间复杂度为O(log b),比普通的幂运算算法要快很多,特别是在指数b很大时。同时,由于取模运算的存在,可以避免计算结果溢出的问题。
阅读全文