证明:数论四大定理之中国剩余定理

中国剩余定理(CRT)的证明

前言

  • 作为数论四大定理之一,中国剩余定理(又名孙子定理)的重要性不言而喻,到底还是自家的东西
  • 其主要用于求解一元线性同余方程组。
  • 通俗来讲,就是我们从小听到大的问题:“有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?”明明一点也不通俗。用白话文来讲就是有一堆东西,三个三个地数多两个,五个五个地数多三个,七个七个地数多两个,问这堆东西一共有多少个。变成小学奥数就是什么分馒头,什么坐公交车之类的

Description:

  • \(m_1,m_2,\cdots,m_n\)两两互质的整数,\(m=\prod_{i=1}^{n}m_i\)\(M_i=m/m_i\)\(t_i\) 是线性同余方程 \(M_it_i\equiv 1\:(mod\:m_i)\) 的一个解(即 \(M_i\) 在模 \(m_i\) 意义下的逆元)。则对于任意的 \(n\) 个整数 \(a_1,a_2,\cdots,a_n\) ,同余方程组

    \[\left\{\begin{matrix}x\equiv a_1\:&(mod\:m_1)\\ x\equiv a_2\:&(mod\:m_2)\\ \vdots&\\x\equiv a_n\:&(mod\:m_n)\\ \end{matrix}\right. \]

    有整数解为 \(ans=\sum_{i=1}^{n}a_iM_it_i\)

证明:

  • 因为 \(M_i=m/m_i\) 是除 \(m_i\) 之外所有模数的倍数,所以 \(\forall k\neq i,a_iM_it_i\equiv 0\:(mod\:m_k)\)
  • 又因为 \(M_it_i\equiv 1\:(mod\:m_i)\) ,所以 \(a_iM_it_i\equiv a_i\:(mod\:m_i)\)
  • 综上所述,将公式带入原方程组即能够满足所有的同余式。

证毕。

后话

  • \(To\:be\:frank\),中国剩余定理其实挺简单的,而且也比较好感性理解,最重要的是,有了这个定理,再也不用担心不会写小学奥数了
  • 但是不得不说,中国剩余定理具有一定的局限性,就是其必须要求所有的模数都互质,如果不互质的话则不能运用中国剩余定理解线性同余方程组(从逆元的角度理解也可以),但是在一般的题目都不满足互质这个性质。
  • 那么这个时候我们应该怎么办?很简单,用扩展中国剩余定理 \((excrt)\) 求解就好,OI人,OI魂,OI都是人上人
  • 说是扩展中国剩余定理,但是却和中国剩余定理没有半毛钱关系,顶多也就算是求解的类型一样而已。
  • 其具体思路就是将两个线性同余方程组合并成一个,然后不断两两合并,最后得解。因为不再本博客的讨论范围,在这里就不再赘述,感兴趣请自行百度。

2021年1月16日
——pycr

posted @ 2021-01-16 22:37  pycr  阅读(4197)  评论(0编辑  收藏  举报