兩數的最大公因數, 最小公倍數及約分
程式編寫日期: 2014年8月22日
程式可以計算兩數的最大公因數, 最小公倍數及約分(可以約簡較大的數值)。
第一個程式(53 bytes,使用記憶為A、B、C、D及X)
程式需要在 BASE 模式下執行,因此在選擇新程式位置後,按 3 選用BASE模式。
Dec: ?→A: ?→B: A→D: B→X: While B: B→C:
A - A ÷ B×B→B: C→A: WhileEnd: C◢ D ÷ C◢
X ÷ C◢ Ans D
註: 如果是使用fx-50FH,上述程式中的乘號 ×可以省略不輸入,程式長度可節省1 byte。
第二個程式 (COMP模式,60 bytes,使用記憶為A、B、C、D及M)
?→A: ?→B: A→D: B→X: While B: B→C:
Fix 0: A - B Rnd( A ÷ B - . 5→B: C→A: WhileEnd:
Norm 1: C◢ D ÷ C◢ X ÷ C◢ Ans D
註1: 輸入的數值必須為正整數,否則答案錯誤。
註2: 若果不用計算約分,可將近最後的程式碼"D ÷ C◢ X ÷ C◢ Ans D"改為"XD÷C"即可。
例題: 找 370368及617280的最大公因數, 約分及最小公倍數。
按 Prog 1 再按 370368 EXE 617280 EXE (顯示最大公因數為123456)
EXE (顯示分子為 3) EXE (顯示分母為5)
EXE (顯示最小公倍數為1851840)
若果是第一個程式,計算完結後按 MODE 1返回正常計算模式
程式設計小貼士:
使用基數模式編寫程式,要注意數值必需小於2147483647,否則會出現Math ERROR,令程式的運算能力大減,這亦是很多初學者忽略的問題,程式結構雖然相似但差異可以很大,例如可能無法計算出上述例題的結果。