大数的乘法取幂

版权声明:本文为博主原创文章,未经博主允许必须转载。 https://blog.csdn.net/qq_35950004/article/details/83502922

long long Mul(long long tmp,long long res,long long mod){
	long long ret=0;
	while(res){
		if(res&1) ret=(ret+tmp)%mod;
		if(tmp>MAXN)tmp=tmp-(mod-tmp);
		else tmp=(tmp<<1)%mod;
		res>>=1;
	}
	return ret;
}
//或者O(1)
LL mul(LL a,LL b,LL c){ return ((a*b-(LL)((long double)a/c*b+1e-8)*c)%c+c)%c; }

猜你喜欢

转载自blog.csdn.net/qq_35950004/article/details/83502922
今日推荐