聯立同餘式(II)

程式可以求整數論中聯立同餘式(simultaneous linear congruences) 的解,程式計算解的最小正值及通解。 與第(I)版比較,這個程式克服了第(I)版或者是使用中國餘數定理的程式在計算較大除數時,速度很慢的問題。 另外在聯立同餘式無解的情況下會顯示Math ERROR,而不是第(I)版長時間顯示空白。

程式編寫日期: 2006年10月17日

程式需要在 SD 模式下執行,因此在輸入程式前請先按 Mode Mode 1 進入SD模式。

注意: 藍色的英文字為統計模式中的變數(n 按 shift 1 3 ,x為平均x 按 shift 2 1)

程式(162 bytes):

0→A: 1→B: Lbl 0: Stat clear: ?→C:

?→D: C-A ; √D2 DT: B→M: Pol( n , 0: 1→D: Lbl 1:

D→C: Y→D: M÷X - . 5: Fix 0: Rnd: C - AnsD→Y:

M÷X - . 5: Rnd: M - XAns→C => X→M => C→X => Goto 1:

(√x2÷X) nCr 0: A + DxB÷X→C: nB÷X→B: Ans→D:

C÷B - . 5: Rnd: Norm 1: C - AnsB: Ans - B(Ans=B→A:

Ans→C: Goto 0

 

例題1: 計算以下大除數的聯立同餘式。

M ≡ 123 (mod 9877)

M ≡ 923 (mod 8979)

按 Prog 1  再按  123 EXE 9877 EXE

923 EXE 8979 (顯示79016123) EXE (顯示88685583)

所以最小的正值為79016123,通解 = 79016123 + 88685583n

註: 若果使用中國餘數定理聯立同餘式(I)計算,時間會非常長,基本上可以說不能求出解答。

 

例題2: 計算以下聯立同餘式:

M ≡ 4 (mod 5)

M ≡ 1 (mod 3)

M ≡ 9 (mod 10)

按 Prog 1 再按  4 EXE 5 EXE 1 EXE 3 EXE 9 EXE 10 EXE (顯示19) EXE (顯示30)

所以最小的正值為19,通解 = 19 + 30n

 

例題3: 計算以下聯立同餘式:

M ≡ 4 (mod 5)

M ≡ 1 (mod 3)

M ≡ 9 (mod 10)

M ≡ 2 (mod 7)

M ≡ 7 (mod 12)

按 Prog 1 再按 4 EXE 5 EXE 1 EXE 3 EXE 9 EXE 10 EXE 2 EXE 7 EXE

7 EXE 12 EXE (顯示79) EXE (顯示420)

所以最小的正值為79,通解 = 79 + 420n

 

返回 fx-3650P及SC-185 程式集

孫子定理 (中國餘數定理Chinese Remainder Theorem) (59 bytes)

聯立同餘式(I)

有關聯立同餘式的參考資料:

孫子定理

simultaneous linear congruences

Free Web Hosting