参考博客:
https://blog.csdn.net/anxdada/article/details/76855632
算法复杂度:O(logn)
代码如下(改自上述博客):
ll mul(ll x,ll y)//快速乘取模,代码跟快速幂很相似
{
ll ans=0;
if(x>y) swap(x,y); //快速乘只能处理较大的数相乘,有些数过大还是有可能会爆的
while(y)
{
if(y&1) ans=(ans+x)%mod;
x=(x+x)%mod; //会爆的原因就在这里,所以要让x,y中最小的那个来执行+法
y>>=1;
}
return ans;
}