快速幂算法模板

快速幂

Posted by WenlSun" on April 28, 2020

求$m^k\%p$,时间复杂度O(logk).

C++ 版本模板

1
2
3
4
5
6
7
8
9
int qmi(int m, int k, int p){
    int res = 1 % p, t = m;
    while (k) {
        if (k & 1) res = res * t % p;
        t = t * t % p;
        k >>= 1;
    }
    return res;
}