long long fast_pow( long long a, long long b, int p ) {
long long ans = 1;
while( b ) {
if ( b & 1 ) //若b当前最右位为1
ans = ans * a % p;
a = a * a % p; //(a^(2^k))^2=a^(2^(k+1))
b >>= 1; //b向右位移
}
return ans;
}乘法快速幂
最新推荐文章于 2025-07-11 11:13:19 发布
5558

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



