聯立同餘式精簡版

程式可以求整數論中聯立同餘式(simultaneous linear congruences) 的解,程式會計算最小正值解及通解。

程式編寫日期: 2006年8月15日

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

程式 (93 bytes,使用記憶為A、B、C、D、X及M)

Dec: ?→M: ?→B: Lbl 0: ?→C: ?→D: CM-:

Lbl 1: M - M÷D×D => BM+ => Goto 1: CM+: B→C:

D→X: Lbl 2: X→A: C - C÷X×X→X => A→C => Goto 2:

BD÷A→B: Ans→D: M→C: Goto 0

 

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

x ≡ 4 (mod 5)

x ≡ 1 (mod 3)

x ≡ 9 (mod 10)

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

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

計算完結按MODE 1終止程式及返回comp MODE

 

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

x ≡ 4 (mod 5)

x ≡ 1 (mod 3)

x ≡ 9 (mod 10)

x ≡ 2 (mod 7)

x ≡ 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

計算完結按MODE 1終止程式及返回comp MODE

 

註: 若果要輸入負數,請用減號代替負號。

 

註: 若同餘式為 x ≡ a (mod b),精簡版的限制為 a及b為正數,另一個限制是輸入第一條同餘式時,a 要小於 b,否則不能正確計算最小正值的解,但通解依然成立。

 

返回 fx-3650P 程式集

Free Web Hosting