兩數的最大公因數, 最小公倍數及約分

程式編寫日期: 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,令程式的運算能力大減,這亦是很多初學者忽略的問題,程式結構雖然相似但差異可以很大,例如可能無法計算出上述例題的結果。

 

返回 CASIO fx-50FH、fx-3650P II、fx-50FH II及fx-50F PLUS 程式集

Free Web Hosting