中国剩余定理(CRT)
中国剩余定理,是用来求形如下面这样的同余方程组的 最小正整数解 的:
\[\left\{
\begin{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}
\right.
\]
其中,\(m_1,m_2,\cdots,m_n\) 两两互质。
出处
这玩意原本出自《孙子算经》卷下第二十六题:“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”
解法
我们设
\[M = \prod\limits_{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 = \sum\limits_{i=1}^n a_i M_i t_i
\]
最小正整数解就是
\[x_{min} = x_0 \bmod M
\]
证明
这玩意的证明其实挺简单的……
首先,对于任意一个 \(j\)(\(1 \le j \le n\) 且 \(j \not= 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}
\]
符合题意。