【中国剩余定理】笔记

1. 一般形式

先拿一段古文作为引入:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?

这是一个同余方程组,让我们把它翻译一下:

{ x ≡ 2 ( m o d 3 ) x ≡ 3 ( m o d 5 ) x ≡ 2 ( m o d 7 ) \begin{cases}x\equiv2\pmod{3}\\x\equiv3\pmod{5}\\x\equiv2\pmod{7}\end{cases} x2(mod3)x3(mod5)x2(mod7)

而中国剩余定理就可以解决部分类似的同余方程组,具体来说:

{ x ≡ a 1 ( m o d b 1 ) x ≡ a 2 ( m o d b 2 ) ⋯ x ≡ a n ( m o d b n ) \begin{cases}x\equiv a_1\pmod{b_1}\\x\equiv a_2\pmod{b_2}\\\cdots\\x\equiv a_n\pmod{b_n}\end{cases} xa1(modb1)xa2(modb2)xan(modbn)

其中 b 1 , b 2 , ⋯   , b n b_1,b_2,\cdots,b_n b1,b2,,bn 均两两互质

2. 使用方法

我们设: M = ∏ i = 1 n b i , M i = M b i , M i M i − 1 ≡ 1 ( m o d b i ) M=\prod\limits_{i=1}^nb_i,M_i=\dfrac{M}{b_i},M_iM_i^{-1}\equiv1\pmod{b_i} M=i=1nbi,Mi=biM,MiMi11(modbi)

则原方程最小整数解为 x = ( ∑ i = 1 n a i × M i × M i − 1 )   m o d   M x=(\sum\limits_{i=1}^na_i\times M_i\times M_i^{-1})\bmod M x=(i=1nai×Mi×Mi1)modM

3. 证明

首先,假设 x x x 是原方程的解,那么,对于方程组中的第 i i i 个方程而言,都可进行如下分解:

x ≡ a i ( m o d b i ) ∑ j = 1 n a j × M j × M j − 1 ≡ a i ( m o d b i ) a i × M i × M i − 1 + ∑ j = 1 , j ≠ i n a j × M j × M j − 1 ≡ a i ( m o d b i ) \begin{aligned}x&\equiv a_i\pmod{b_i}\\ \sum\limits_{j=1}^na_j\times M_j\times M_j^{-1}&\equiv a_i\pmod{b_i}\\ a_i\times M_i\times M_i^{-1}+\sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1}&\equiv a_i\pmod{b_i}\end{aligned} xj=1naj×Mj×Mj1ai×Mi×Mi1+j=1,j=inaj×Mj×Mj1ai(modbi)ai(modbi)ai(modbi)

我们先来看最复杂的一团东西: ∑ j = 1 , j ≠ i n a j × M j × M j − 1 \sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1} j=1,j=inaj×Mj×Mj1

考虑如何化简

首先,对于任意 i , j ( i ≠ j ) i,j(i\ne j) i,j(i=j) 来说,都有 b i ∣ M j b_i\mid M_j biMj

显然,因为 M j = ∏ i = 1 n b i b j M_j=\dfrac{\prod\limits_{i=1}^nb_i}{b_j} Mj=bji=1nbi,而 i ≠ j i\ne j i=j,所以 b i ∣ M j b_i\mid M_j biMj 成立

由此可得:

M j ≡ 0 ( m o d b i ) a j × M j × M j − 1 ≡ 0 ( m o d b i ) ∑ j = 1 , j ≠ i n a j × M j × M j − 1 ≡ 0 ( m o d b i ) \begin{aligned}M_j&\equiv0\pmod{b_i}\\a_j\times M_j\times M_j^{-1}&\equiv0\pmod{b_i}\\\sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1}&\equiv 0\pmod{b_i}\end{aligned} Mjaj×Mj×Mj1j=1,j=inaj×Mj×Mj10(modbi)0(modbi)0(modbi)

因此,上面的式子可化简为:

a i × M i × M i − 1 ≡ a i ( m o d b i ) a_i\times M_i\times M_i^{-1}\equiv a_i\pmod{b_i} ai×Mi×Mi1ai(modbi)

又由 M i − 1 M_i^{-1} Mi1 的定义可得: M i M i − 1 ≡ 1 ( m o d b i ) M_iM_i^{-1}\equiv1\pmod{b_i} MiMi11(modbi),所以该式子还可进一步化简:

a i ≡ a i ( m o d b i ) a_i\equiv a_i\pmod{b_i} aiai(modbi)

式子恒成立,所以 x x x 就是原方程的解

我们回头来看看这个方程:

{ x ≡ 2 ( m o d 3 ) x ≡ 3 ( m o d 5 ) x ≡ 2 ( m o d 7 ) \begin{cases}x\equiv2\pmod{3}\\x\equiv3\pmod{5}\\x\equiv2\pmod{7}\end{cases} x2(mod3)x3(mod5)x2(mod7)

显然,有 M = 105 , M 1 = 35 , M 1 − 1 = 2 , M 2 = 21 , M 2 − 1 = 1 , M 3 = 15 , M 3 − 1 = 1 M=105,M_1=35,M_1^{-1}=2,M_2=21,M_2^{-1}=1,M_3=15,M_3^{-1}=1 M=105,M1=35,M11=2,M2=21,M21=1,M3=15,M31=1

所以 x = ( 2 × 35 × 2 + 3 × 21 × 1 + 2 × 15 × 1 )   m o d   105 = 23 x=(2\times 35\times 2+3\times 21\times 1+2\times 15\times 1)\bmod 105=23 x=(2×35×2+3×21×1+2×15×1)mod105=23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值