龟速乘
普通版本
求 ,时间复杂度 。
乘法可能爆 时可以用。
long long Fmul(long long a,long long b,long long c){
long long ans=0;
while(b){
ans=(ans+a*(b&1))%c;
a=(a+a)%c;
b>>=1;
}
return ans;
}
快速版本
时间复杂度 。
ll mul(ll a,ll b,ll c){
ll k=(ll)((1.0L*a*b)/(1.0L*c)),t=a*b-k*c-c;
while(t<0)t+=c;return t;
}

浙公网安备 33010602011771号