N個數的最大公因數 及最小公倍數
程式編日期: 2014年8月22日
程式可以計算兩數的最大公因數。第一個程式較簡短,但程式需要在BASE模式執行,操作較不便(完結後需後按MODE 1返回正常計算模式),第二個程式較長但在COMP模式執行,容許輸入的數值亦較大。
第一個程式(93 bytes,使用記憶為A、B、C、D、X及Y)
程式需要在 BASE 模式下執行,因此在選擇新程式位置後,按 3 選用BASE模式。
Dec: ?→A: A→D: Lbl 0: A→B: ?→A: A→X: While Ans:
B - B ÷ A ×A→C: A→B: C => C→A: WhileEnd: D→B: X→Y:
While Ans: D - D ÷X ×X→C: X→D: C => C→X: WhileEnd:
B÷X ×Y→D: Goto 0
註: 如果是使用fx-50FH,上述程式中的乘號 ×可以省略不輸入,程式長度可節省3 bytes。
第二個程式 (COMP模式,98 bytes,使用記憶為A、B、C、D及X)
?→A: A→D: Lbl 0: A→B: ?→A: A→X: Fix 0: While Ans:
B - A Rnd( B ÷ A - . 5→C: A→B: C => C→A: WhileEnd:
DX→B: While Ans: D - X Rnd( D ÷ X - . 5→C: X→D:
C => C→X: WhileEnd: Norm 1: B÷X→D: Goto 0
註: 輸入的數值必須為正整數,否則答案錯誤。
例題1: 找48及60的最大公因數 及最小公倍數。
按 Prog 1 再按 48 EXE 60 EXE (顯示最大公因數為12)
再按 AC RCL D (顯示最小公倍數為240)
例題2: 找48、60及42的最大公因數 及最小公倍數。
按 Prog 1 再按 48 EXE 60 EXE 42 (顯示最大公因數為6)
再按 AC RCL D (顯示最小公倍數為1680)
註: 若果是第一個程式,計算完結後可直接按 MODE 1終止及返回正常計算模式