关于第14个点的溢出
查看原帖
关于第14个点的溢出
133116
Xhesika_Frost楼主2021/10/12 09:11

本人的快速幂代码如下

int qp(int x,int mi){
	int ans=1;
	int tem=x%mod;
	while(mi){
		if(mi&1){
			ans*=tem;
			ans%=mod;
		}
		tem*=tem;
		tem%=mod;
		mi>>=1;
	}
	return ans;
}

然后本人调用的时候如果这样写就会溢出

ans*=(qp(i,cnt)-1)%mod*(qp(i-1,mod-2))%mod;

如果这样写就不会

ans*=(qp(i%mod,cnt)-1)%mod*(qp(i%mod-1,mod-2))%mod;

这是为什么呢

2021/10/12 09:11
加载中...