中国剩余定理(CRT)

中国剩余定理,是用来求形如下面这样的同余方程组的 最小正整数解 的:

[left{ egin{array}{ll} x equiv a_1 pmod{m_1} \ x equiv a_2 pmod{m_2} \ cdots \ x equiv a_n pmod{m_n} \ end{array} ight. ]

其中,(m_1,m_2,cdots,m_n) 两两互质。

出处

这玩意原本出自《孙子算经》卷下第二十六题:“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”

解法

我们设

[M = prodlimits_{i=1}^n m_i,M_i = frac{M}{m_i} ]

然后,设 (t_i)(M_i) 在模 (m_i) 意义下的逆元,即 (M_i t_i equiv 1 pmod{m_i})
对于上面的 (i)(1 le i le n)
然后,我们就可以构造出任意解

[x_0 = sumlimits_{i=1}^n a_i M_i t_i ]

最小正整数解就是

[x_{min} = x_0 mod M ]

证明

这玩意的证明其实挺简单的……
首先,对于任意一个 (j)((1 le j le n)(j ot= i))

[a_j M_j t_j equiv 0 pmod{m_i} ]

这是显然的,因为(m_i)(M_j) 的因数。
然后,有

[a_i M_i t_i equiv a_i pmod{m_i} ]

这也很明显……因为 (M_i t_i equiv 1 pmod(m_i)) 嘛。
于是,我们把所有的 (a_i M_i t_i) 加起来,也就是 (x_0),再结合上面的两个结论,就可以得到

[x_0 equiv a_i pmod{m_i} ]

符合题意。

原文地址:https://www.cnblogs.com/mk-oi/p/13700036.html