中國剩余定理(孫子定理)


  中國剩余定理,也叫孫子定理,是數論中的又一個重要定理,那么它是干什么用的呢?簡單來說,這是一個用來求一元線性同余方程組的定理。叫做孫子定理的原因就是該定理最早可見於南北朝時期的著作《孫子算經》卷下第二十六題,叫做“物不知數”問題,原文如下:

  有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?

  翻譯一下,就是說,一個數除以三余二,除以五余三,除以七余二,求這個整數。

  接下來,我們把這一道題作為例題,探究一下如何利用孫子定理搞定同余方程組

例1:

  求解一元線性同余方程組:

              x ≡ 2 ( mod 3 )

              x ≡ 3 ( mod 5 )

              x ≡ 2 ( mod 7 )

  解:

    做題依據:

    當p1 , p, ……互質的時候,有 x ≡ (a1 qq1-1 + a2 qq2-1 +……)mod P

    其中P = pp2……, q= p / pi ,qi-1 為 qi 在模pi 意義下的逆元

    對於這道題,x ≡ (2 * 35 * 2 + 3 * 21 * 1+ 2 * 15 * 1)mod 105 = 23

例2:

  求解一元線性同余方程組:

              x ≡ 3(mod 12)

              x ≡ 2(mod 18)

  解:

    做題依據

    當p不互質時,有x ≡ a( mod p1 ) = = > x = a+ pb1,  x ≡ a2 ( mod p2 ) = = > x = a2 + p2 b2

    所以pb- pb= a- a1

    用擴展歐幾里得得解

    因此不斷合並方程即可

 

代碼實現參考拓展歐幾里得算法https://www.cnblogs.com/juruohqk/p/10544298.html

2019-04-09 11:39:10

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM