中国剩余定理

可参考资料:

资料1

资料2

实现如下:

LL CRT(){
	LL num=1,ans=0;
	for(int i=1;i<=n;++i) num*=a[i];
	for(int i=1;i<=n;++i){
		LL mum=num/a[i],x,y;
		exgcd(mum,a[i],x,y); 
		ans=(ans+1ll*r[i]*mum*x%num)%num;
	}
	return (ans%num+num)%num;
}
posted @ 2022-02-24 10:56  cbdsopa  阅读(32)  评论(0)    收藏  举报