中国剩余定理,是用来求形如下面这样的同余方程组的 最小正整数解 的:
[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}
]
符合题意。