中国剩余定理及其扩展——学习(复习)笔记

来源:互联网 发布:lua和php 编辑:程序博客网 时间:2024/05/22 00:43

普通的中国剩余定理很简单,大概就是个简单的构造

xa1(modm1)xa2(modm2)xa3(modm3)...xiaiMiM1i(modM)

其中 M=imi,Mi=M/mi,MiM1i1(modmi)
这个需要满足 mi 两两互质,比较局限。
如果不互质其实也可以做,考虑两两合并:
xa1(modm1)xa2(modm2)x=a1+k1m1=a2+k2m2k1m1k2m2=a2a1

用扩欧解出 k1,k2 的最小正整数解,得到 x 的最小正整数解 x,方程就合并为
xx(modlcm(m1,m2))

模板:

这里写代码片