快速幂取模就是在O(logn)内求出a^n mod b的值。
原理:a^b mod n=(a mod n)(b mod n)mod n
// 快速幂 (a^b)%n ll mod_mul(ll a, ll b, ll n){ ll res = 0; while (b){ if(b & 1) res = (res + a) % n; a = (a + a) % n; b >>= 1; } return res; } ll mod_exp(ll a, ll b, ll n){ ll res = 1; while(b){ if(b & 1) res = mod_mul(res, a, n); a = mod_mul(a, a, n); b >>= 1; } return res; }
本文介绍了一种在O(logn)时间内求解a^nmodb的快速幂取模算法,通过将指数分解为二进制形式,利用位运算实现高效计算。
1万+

被折叠的 条评论
为什么被折叠?



