來談談中國餘數定理解題步驟

什麼是中國餘數定理(CRT)

http://baike.baidu.com/view/157384.htm?fromtitle=%E4%B8%AD%E5%9B%BD%E4%BD%99%E6%95%B0%E5%AE%9A%E7%90%86&fromid=7801504&type=syn (百度百科)
在學習RSA算法的時候有說起到,這裏作個總結。

下面一塊兒來看條例題:

X ≡ 2(mod 3); x ≡ 3(mod 5); x ≡ 2(mod 7)
求x ?
解:
能夠看到首先使用中國餘數定理的條件是三個除數兩兩互質,明顯 3,5,7 符合條件。
接下來咱們看一個表
mi Mi Mi^-1 Mi*(Mi^-1 mod mi)
3 35 2 70
5 21 1 21
7 15 1 15

表裏面的mi 就是咱們能夠從題目裏面知道的除數3 ,5 ,7
Mi就是除了當前行mi 之外的另外兩個除數的乘積, 例如 mi = 3 的時候,Mi = 3*7 = 35
接下來是Mi^-1,這個含義是指Mi 的反約數。
反約數分乘法反約數和加法,在這裏咱們用的是乘法反約數,意思是能夠與 Mi 相乘 而後除以 mi 餘 1 的數,公式看就是 (Mi^-1 * Mi) mod mi = 1。 算法

要的數都齊了,而後咱們就要用三個 Mi*(Mi^-1 mod mi) 各自乘以原來題目式子裏面的餘數,再將三個結果加起來,例如:
Mi*(Mi^-1 mod mi) = 70 對應的mi是3 對應的式子是 X ≡ 2(mod 3),因此 70*2 = 140. 學習

以後求到三個和爲:15*2+70*2+21*3 = 233 spa

最後一步就是用咱們求到的這個數去和 三個除數的乘積M 求模
x = 233 mod 105 = 23; htm

最後就能求到咱們想要的x了
這個就是中國餘數定理的解題步驟啦~ rem

相關文章
相關標籤/搜索