数论——快速幂算法 快速计算a^b mod c的值

// 快速计算 (a ^ p) % m 的值

__int64 FastM(__int64 a, __int64 p, __int64 m){ 
    if (p == 0) return 1;
    __int64  r = a % m;
    __int64  k = 1;
    while (p > 1)
    {
        if ((p & 1)!=0)
        {
            k = (k * r) % m; 
        }
        r = (r * r) % m;
        p >>= 1;
   }
        return (r * k) % m;
}


你可能感兴趣的:(数据结构和算法)