Posted onInacm
,
数学 Symbols count in article: 230Reading time ≈1 mins.
快速幂
1 2 3 4 5 6 7 8 9 10 11
//计算a的b次方mod m longlongbinpow(longlong a, longlong b, longlong m){ a %= m; longlong res = 1; while (b > 0) { if (b & 1) res = res * a % m; a = a * a % m; b >>= 1; } return res; }
根据费马小定理,如果 m 是一个质数,我们可以计算 $a^{b\ mod\ (m-1)}$ 来加速算法过程