m1,m2,m3mn两两互素,有同余方程组:
x≡a1(modm1)x≡a2(modm2)x≡an(modmn)
求最小的满足方程的
x。
由于网上对中国剩余定理的基本概念讲述的差不多了,这里就直接进入正题。
为了方便后面的描述,我们定义M=∏i=1nmi,wi=Mmi(这个定义不用于后面的扩展中国剩余定理和其它情况)。
我们的目的是想对于每一个方程找出一个比较特殊的pi,使得pi≡aimodmi,且pi≡0modmj(j≠i),因为求出所有的pi后,∑i=1npimodM就是我们的答案x。
观察pi的限制,可以发现pi应该为除了mi以外的模数的最小公倍数(因为所有mi互质,所以也就是wi)的倍数,所以我们只需找到一个pi使得pi=kiwi(ki为任意整数),且pi≡aimodmi,那么这个pi就是我们需要的。但是pi≡aimodmi这个式子并不特殊,我们需要找一些更方便求解的式子来替换它。思考一下可以发现,其实我们只需要找到在满足pi=kiwi的条件下,使得pi≡1modmi的数,把pi乘上ai,就得到我们想要的pi。
现在的问题就是如何找到满足条件的ki,观察式子kiwi≡1modmi,可以看到ki实际上是wi在模mi意义下的逆元,所以:
pi=ai×wi×ki=ai×wi×w1i
到这里,我们就成功得出了中国剩余定理的公式: