中国剩余定理
字数 4482 2025-12-23 10:03:34

中国剩余定理

好的,我们先来明确什么是“中国剩余定理”。它的核心思想是:求解一个由多个同余方程构成的同余方程组,并且这些同余方程的模数两两互质时,方程组存在唯一的解(在模这些模数的乘积下)。它是数论和抽象代数中的一个基本而强大的工具,应用极其广泛。

下面,我将从一个最直观的例子开始,一步步深入到其一般形式和本质。

第一步:一个具体问题与试探解法

假设我们面临这样一个问题:

  • 一个数除以3余2,
  • 除以5余3,
  • 除以7余2。
    问:这个数最小是多少?

用数学语言,这就是同余方程组:

\[\begin{cases} x \equiv 2 \pmod{3} \\ x \equiv 3 \pmod{5} \\ x \equiv 2 \pmod{7} \end{cases} \]

模数3, 5, 7两两互质。

尝试构造解
我们可以这样思考:

  1. 找一个数,它是5和7的公倍数,且模3余1。因为5×7=35,35除以3余2,不符合“余1”。我们需要找到35的某个倍数,使其模3余1。35模3余2,那么2的多少倍模3余1?2×2=4,4除以3余1。所以,35×2=70满足“是5和7的公倍数,且模3余1”。
  2. 同理,找一个数是3和7的公倍数(21),且模5余1。21模5余1,刚好满足,所以这个数就是21。
  3. 再找一个数是3和5的公倍数(15),且模7余1。15模7余1,也刚好满足,所以这个数是15。

现在,我们把“要求余数”的项配上去:

  • 对于第一个方程(余2),我们有一个“基”70,它本身模3余1。要得到余2,就用2×70。
  • 对于第二个方程(余3),用基21乘以3,即3×21。
  • 对于第三个方程(余2),用基15乘以2,即2×15。

然后把它们加起来:

\[x_0 = 2 \times 70 + 3 \times 21 + 2 \times 15 = 140 + 63 + 30 = 233 \]

验证:233除以3余2,除以5余3,除以7余2,确实满足。

但这显然不是最小正整数解。因为3, 5, 7的最小公倍数是105,所以通解是 \(x \equiv 233 \equiv 23 \pmod{105}\)。最小的正整数解是23。

这个构造过程,就是中国剩余定理的“构造性证明”的核心思想。

第二步:抽象成一般定理

现在我们把这个特例推广到一般形式。

定理(中国剩余定理)
\(m_1, m_2, \dots, m_k\) 是两两互质的正整数(即对任意 \(i \neq j\),有 \(\gcd(m_i, m_j) = 1\))。
那么对于任意整数 \(a_1, a_2, \dots, a_k\),同余方程组

\[\begin{cases} x \equiv a_1 \pmod{m_1} \\ x \equiv a_2 \pmod{m_2} \\ \vdots \\ x \equiv a_k \pmod{m_k} \end{cases} \]

在模 \(M = m_1 m_2 \dots m_k\) 下有唯一解。也就是说,存在一个整数 \(x\),满足所有同余方程,并且任何两个解在模 \(M\) 下同余。

解读

  1. 存在性:就像我们例子中做的,可以显式构造出一个解。
  2. 唯一性:这里的“唯一”是指“在模M的意义下唯一”。即如果 \(x\)\(y\) 都满足方程组,那么 \(M\) 整除 \(x-y\)。所以解构成一个模M的同余类。

第三步:构造性证明与求解算法

这不仅是证明,也是一个通用算法。

  1. 计算总模\(M = m_1 m_2 \dots m_k\)
  2. 计算部分积:对每个 \(i\),令 \(M_i = M / m_i\)。因为模数两两互质,所以 \(M_i\)\(m_i\) 互质,即 \(\gcd(M_i, m_i) = 1\)
  3. 求逆元:对每个 \(i\),求整数 \(t_i\),使得 \(M_i t_i \equiv 1 \pmod{m_i}\)。由于 \(M_i\)\(m_i\) 互质,这个逆元 \(t_i\) 一定存在(可以用扩展欧几里得算法求出)。这个 \(t_i\) 就是 \(M_i\)\(m_i\) 的乘法逆元。
  4. 构造解:令

\[ x_0 = a_1 M_1 t_1 + a_2 M_2 t_2 + \dots + a_k M_k t_k \]

  1. 得到唯一解:方程组在模 \(M\) 下的唯一解就是 \(x \equiv x_0 \pmod{M}\)

验证:为什么这个构造可行?
观察和式中的每一项,比如第 \(i\)\(a_i M_i t_i\)。因为当 \(j \neq i\) 时,\(M_j\)\(m_i\) 的倍数,所以 \(a_j M_j t_j \equiv 0 \pmod{m_i}\)。而第 \(i\) 项中,由于 \(M_i t_i \equiv 1 \pmod{m_i}\),所以 \(a_i M_i t_i \equiv a_i \pmod{m_i}\)。因此,整个和 \(x_0\)\(m_i\) 恰好余 \(a_i\)

第四步:更本质的观点——环的同构

这是中国剩余定理在现代代数中的核心表述,它揭示了解的结构。

将整数环 \(\mathbb{Z}\)\(M\) 得到的环记作 \(\mathbb{Z}/M\mathbb{Z}\)
将每个模 \(m_i\) 的剩余类环记作 \(\mathbb{Z}/m_i\mathbb{Z}\)

定理(环论版中国剩余定理)
\(m_1, m_2, \dots, m_k\) 两两互质,且 \(M = \prod m_i\),则有环同构:

\[\mathbb{Z}/M\mathbb{Z} \cong \mathbb{Z}/m_1\mathbb{Z} \times \mathbb{Z}/m_2\mathbb{Z} \times \dots \times \mathbb{Z}/m_k\mathbb{Z} \]

这个同构映射 \(\phi\) 定义为:

\[\phi(x \bmod M) = (x \bmod m_1, x \bmod m_2, \dots, x \bmod m_k) \]

这意味着什么?

  1. 一一对应:模 \(M\) 的一个剩余类,完全由它在模各个 \(m_i\) 下的余数所决定,并且这种对应是“运算保持”的(加法和乘法都能对应过去)。
  2. 原定理的必然性:给定右边的任意一个“余数组” \((a_1, a_2, \dots, a_k)\),由于 \(\phi\) 是双射,必然在左边存在唯一的一个 \(x \mod M\) 与之对应。这就是解的存在唯一性。
  3. 威力巨大:这个同构允许我们把对“大模数 \(M\)”的计算,分解为对多个“小模数 \(m_i\)”的并行计算,这在计算机代数和大整数运算中至关重要。

第五步:一个简单应用示例

问题:求一个数,它除以4余1,除以5余2,除以9余3。

  1. 模数4, 5, 9两两互质。\(M = 4\times5\times9 = 180\)
  2. \(M_1 = 180/4 = 45\)\(M_2 = 180/5 = 36\)\(M_3 = 180/9 = 20\)
  3. 求逆元:
    • \(45 t_1 \equiv 1 \pmod{4}\),即 \(1 \cdot t_1 \equiv 1 \pmod{4}\),得 \(t_1 = 1\)
    • \(36 t_2 \equiv 1 \pmod{5}\),即 \(1 \cdot t_2 \equiv 1 \pmod{5}\),得 \(t_2 = 1\)
    • \(20 t_3 \equiv 1 \pmod{9}\),即 \(2 t_3 \equiv 1 \pmod{9}\),得 \(t_3 = 5\)(因为 2×5=10≡1 mod 9)。
  4. 构造解:

\[ x_0 = 1 \times 45 \times 1 + 2 \times 36 \times 1 + 3 \times 20 \times 5 = 45 + 72 + 300 = 417 \]

  1. 最小正整数解:\(417 \mod 180 = 57\)。验证:57除以4余1,除以5余2,除以9余3。正确。

第六步:非互质模数的情况

重要限制:中国剩余定理要求模数两两互质。如果模数不互质,方程组不一定有解。

例如:方程组

\[\begin{cases} x \equiv 1 \pmod{4} \\ x \equiv 3 \pmod{6} \end{cases} \]

第一个方程要求 \(x\) 是奇数,第二个方程要求 \(x\) 是3 mod 6,即奇数。看似不矛盾?检查:假设有解 \(x\),则存在整数 \(s, t\) 使 \(x = 4s+1 = 6t+3\),即 \(4s - 6t = 2\),化简为 \(2s - 3t = 1\)。这个方程有整数解(如 s=2, t=1)。所以解是存在的,\(x=9\)就是一个解。但解不唯一模 \(\text{lcm}(4,6)=12\),因为 \(x=9\)\(x=21\) 都满足,但 21-9=12。实际上,当模数不互质时,有解的充要条件是:对任意 \(i, j\),有 \(a_i \equiv a_j \pmod{\gcd(m_i, m_j)}\)。并且如果解存在,则解在模所有 \(m_i\) 的最小公倍数下唯一。

总结

中国剩余定理的核心脉络是:

  1. 从具体问题出发,理解如何“拼凑”出一个满足多个同余条件的数。
  2. 抽象为一般定理:在模数两两互质的前提下,解一定存在且在模乘积下唯一。
  3. 掌握构造性算法:通过计算部分积和模逆元,可以机械地求出解。
  4. 上升到代数本质:理解定理背后是整数环的直积分解同构,这提供了强大的理论工具和应用视角。
  5. 注意适用范围:两两互质是关键前提,否则需要检查相容性条件。

这个定理之所以基础且重要,是因为它将“大模数”的问题分解为若干“小模数”的并行问题,是许多数论算法、密码学(如RSA解密、秘密共享)和编码理论的基石。

中国剩余定理 好的,我们先来明确什么是“中国剩余定理”。它的核心思想是: 求解一个由多个同余方程构成的同余方程组,并且这些同余方程的模数两两互质时,方程组存在唯一的解(在模这些模数的乘积下) 。它是数论和抽象代数中的一个基本而强大的工具,应用极其广泛。 下面,我将从一个最直观的例子开始,一步步深入到其一般形式和本质。 第一步:一个具体问题与试探解法 假设我们面临这样一个问题: 一个数除以3余2, 除以5余3, 除以7余2。 问:这个数最小是多少? 用数学语言,这就是同余方程组: \[ \begin{cases} x \equiv 2 \pmod{3} \\ x \equiv 3 \pmod{5} \\ x \equiv 2 \pmod{7} \end{cases} \] 模数3, 5, 7两两互质。 尝试构造解 : 我们可以这样思考: 找一个数,它是5和7的公倍数,且模3余1。因为5×7=35,35除以3余2,不符合“余1”。我们需要找到35的某个倍数,使其模3余1。35模3余2,那么2的多少倍模3余1?2×2=4,4除以3余1。所以,35×2=70满足“是5和7的公倍数,且模3余1”。 同理,找一个数是3和7的公倍数(21),且模5余1。21模5余1,刚好满足,所以这个数就是21。 再找一个数是3和5的公倍数(15),且模7余1。15模7余1,也刚好满足,所以这个数是15。 现在,我们把“要求余数”的项配上去: 对于第一个方程(余2),我们有一个“基”70,它本身模3余1。要得到余2,就用2×70。 对于第二个方程(余3),用基21乘以3,即3×21。 对于第三个方程(余2),用基15乘以2,即2×15。 然后把它们加起来: \[ x_ 0 = 2 \times 70 + 3 \times 21 + 2 \times 15 = 140 + 63 + 30 = 233 \] 验证:233除以3余2,除以5余3,除以7余2,确实满足。 但这显然不是最小正整数解。因为3, 5, 7的最小公倍数是105,所以通解是 \( x \equiv 233 \equiv 23 \pmod{105} \)。最小的正整数解是23。 这个构造过程,就是中国剩余定理的“构造性证明”的核心思想。 第二步:抽象成一般定理 现在我们把这个特例推广到一般形式。 定理(中国剩余定理) : 设 \( m_ 1, m_ 2, \dots, m_ k \) 是两两互质的正整数(即对任意 \( i \neq j \),有 \( \gcd(m_ i, m_ j) = 1 \))。 那么对于任意整数 \( a_ 1, a_ 2, \dots, a_ k \),同余方程组 \[ \begin{cases} x \equiv a_ 1 \pmod{m_ 1} \\ x \equiv a_ 2 \pmod{m_ 2} \\ \vdots \\ x \equiv a_ k \pmod{m_ k} \end{cases} \] 在模 \( M = m_ 1 m_ 2 \dots m_ k \) 下有唯一解。也就是说,存在一个整数 \( x \),满足所有同余方程,并且任何两个解在模 \( M \) 下同余。 解读 : 存在性 :就像我们例子中做的,可以显式构造出一个解。 唯一性 :这里的“唯一”是指“在模M的意义下唯一”。即如果 \( x \) 和 \( y \) 都满足方程组,那么 \( M \) 整除 \( x-y \)。所以解构成一个模M的同余类。 第三步:构造性证明与求解算法 这不仅是证明,也是一个通用算法。 计算总模 :\( M = m_ 1 m_ 2 \dots m_ k \)。 计算部分积 :对每个 \( i \),令 \( M_ i = M / m_ i \)。因为模数两两互质,所以 \( M_ i \) 和 \( m_ i \) 互质,即 \( \gcd(M_ i, m_ i) = 1 \)。 求逆元 :对每个 \( i \),求整数 \( t_ i \),使得 \( M_ i t_ i \equiv 1 \pmod{m_ i} \)。由于 \( M_ i \) 与 \( m_ i \) 互质,这个逆元 \( t_ i \) 一定存在(可以用扩展欧几里得算法求出)。这个 \( t_ i \) 就是 \( M_ i \) 模 \( m_ i \) 的乘法逆元。 构造解 :令 \[ x_ 0 = a_ 1 M_ 1 t_ 1 + a_ 2 M_ 2 t_ 2 + \dots + a_ k M_ k t_ k \] 得到唯一解 :方程组在模 \( M \) 下的唯一解就是 \( x \equiv x_ 0 \pmod{M} \)。 验证 :为什么这个构造可行? 观察和式中的每一项,比如第 \( i \) 项 \( a_ i M_ i t_ i \)。因为当 \( j \neq i \) 时,\( M_ j \) 是 \( m_ i \) 的倍数,所以 \( a_ j M_ j t_ j \equiv 0 \pmod{m_ i} \)。而第 \( i \) 项中,由于 \( M_ i t_ i \equiv 1 \pmod{m_ i} \),所以 \( a_ i M_ i t_ i \equiv a_ i \pmod{m_ i} \)。因此,整个和 \( x_ 0 \) 模 \( m_ i \) 恰好余 \( a_ i \)。 第四步:更本质的观点——环的同构 这是中国剩余定理在现代代数中的核心表述,它揭示了解的结构。 将整数环 \( \mathbb{Z} \) 模 \( M \) 得到的环记作 \( \mathbb{Z}/M\mathbb{Z} \)。 将每个模 \( m_ i \) 的剩余类环记作 \( \mathbb{Z}/m_ i\mathbb{Z} \)。 定理(环论版中国剩余定理) : 若 \( m_ 1, m_ 2, \dots, m_ k \) 两两互质,且 \( M = \prod m_ i \),则有环同构: \[ \mathbb{Z}/M\mathbb{Z} \cong \mathbb{Z}/m_ 1\mathbb{Z} \times \mathbb{Z}/m_ 2\mathbb{Z} \times \dots \times \mathbb{Z}/m_ k\mathbb{Z} \] 这个同构映射 \( \phi \) 定义为: \[ \phi(x \bmod M) = (x \bmod m_ 1, x \bmod m_ 2, \dots, x \bmod m_ k) \] 这意味着什么? 一一对应 :模 \( M \) 的一个剩余类,完全由它在模各个 \( m_ i \) 下的余数所决定,并且这种对应是“运算保持”的(加法和乘法都能对应过去)。 原定理的必然性 :给定右边的任意一个“余数组” \( (a_ 1, a_ 2, \dots, a_ k) \),由于 \( \phi \) 是双射,必然在左边存在唯一的一个 \( x \mod M \) 与之对应。这就是解的存在唯一性。 威力巨大 :这个同构允许我们把对“大模数 \( M \)”的计算,分解为对多个“小模数 \( m_ i \)”的并行计算,这在计算机代数和大整数运算中至关重要。 第五步:一个简单应用示例 问题 :求一个数,它除以4余1,除以5余2,除以9余3。 模数4, 5, 9两两互质。\( M = 4\times5\times9 = 180 \)。 \( M_ 1 = 180/4 = 45 \), \( M_ 2 = 180/5 = 36 \), \( M_ 3 = 180/9 = 20 \)。 求逆元: 解 \( 45 t_ 1 \equiv 1 \pmod{4} \),即 \( 1 \cdot t_ 1 \equiv 1 \pmod{4} \),得 \( t_ 1 = 1 \)。 解 \( 36 t_ 2 \equiv 1 \pmod{5} \),即 \( 1 \cdot t_ 2 \equiv 1 \pmod{5} \),得 \( t_ 2 = 1 \)。 解 \( 20 t_ 3 \equiv 1 \pmod{9} \),即 \( 2 t_ 3 \equiv 1 \pmod{9} \),得 \( t_ 3 = 5 \)(因为 2×5=10≡1 mod 9)。 构造解: \[ x_ 0 = 1 \times 45 \times 1 + 2 \times 36 \times 1 + 3 \times 20 \times 5 = 45 + 72 + 300 = 417 \] 最小正整数解:\( 417 \mod 180 = 57 \)。验证:57除以4余1,除以5余2,除以9余3。正确。 第六步:非互质模数的情况 重要限制 :中国剩余定理要求模数两两互质。如果模数不互质,方程组不一定有解。 例如 :方程组 \[ \begin{cases} x \equiv 1 \pmod{4} \\ x \equiv 3 \pmod{6} \end{cases} \] 第一个方程要求 \( x \) 是奇数,第二个方程要求 \( x \) 是3 mod 6,即奇数。看似不矛盾?检查:假设有解 \( x \),则存在整数 \( s, t \) 使 \( x = 4s+1 = 6t+3 \),即 \( 4s - 6t = 2 \),化简为 \( 2s - 3t = 1 \)。这个方程有整数解(如 s=2, t=1)。所以解是存在的,\( x=9 \)就是一个解。但解不唯一模 \( \text{lcm}(4,6)=12 \),因为 \( x=9 \) 和 \( x=21 \) 都满足,但 21-9=12。实际上,当模数不互质时,有解的 充要条件 是:对任意 \( i, j \),有 \( a_ i \equiv a_ j \pmod{\gcd(m_ i, m_ j)} \)。并且如果解存在,则解在模所有 \( m_ i \) 的最小公倍数下唯一。 总结 中国剩余定理的核心脉络是: 从具体问题出发 ,理解如何“拼凑”出一个满足多个同余条件的数。 抽象为一般定理 :在模数两两互质的前提下,解一定存在且在模乘积下唯一。 掌握构造性算法 :通过计算部分积和模逆元,可以机械地求出解。 上升到代数本质 :理解定理背后是整数环的直积分解同构,这提供了强大的理论工具和应用视角。 注意适用范围 :两两互质是关键前提,否则需要检查相容性条件。 这个定理之所以基础且重要,是因为它将“大模数”的问题分解为若干“小模数”的并行问题,是许多数论算法、密码学(如RSA解密、秘密共享)和编码理论的基石。