LL quick_mod(LL a,LL b,LL mod)
{
LL ans=1;
while(b)
{
if(b&1)
ans=(ans*a)%mod;
a=(a*a)%mod;
b>>=1;
}
return ans;
]
快速乘法优化
LL quick_mul(LL a,LL b,LL mod)
{
LL ans=0;
while(b)
{
if(b&1)
ans=(ans+a)%mod;
a=(a+a)%mod;
b>>=1;
}
return ans;
}
LL quick_pow(LL a,LL b,LL mod)
{
LL ans=1;
while(b)
{
if(b&1)
ans=quick_mul(ans,a,mod);
a=quick_mul(a,a,mod);
b>>=1;
}
return ans;
}

1882

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



