充最大公因數

程式編日期: 2006年9月4日

程式可以計算兩個正整數a及b的最大公因數及求不定方程 ax + by =GCD(a, b)的一個整數解。第一個程式較簡短,但程式需要在BASE模式執行,操作較不便(完結後需後按MODE 1返回正常計算模式),第二個程式較長但在COMP模式執行,容許輸入的數值亦較大。

第一個程式 (78 bytes)

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

Mem clear: Dec: ?→A: ?→B: A→C: B→D: 1→X:

Lbl 0: Y→M: X - A ÷ B × Y→Y: M→X: B→M:

A - A ÷ B × B→B => M→A => Goto 0: M◢

X◢ M - CX: Ans ÷ D

 

第二個程式 (COMP模式,90 bytes)

?→A: ?→B: A→C: B→D: Pol( 1 , 0: Fix 0: Lbl 0:

Y→M: A÷B - . 5: Rnd: X - YAns→Y: M→X: B→M:

A÷B - . 5: Rnd: A - Ans B→B => M→A => Goto 0:

Norm 1: M◢ X◢ D-1(M - CX

註: 輸入的數值必須為正整數,否則答案錯誤。

 

例題: 找48及60的最大公因數 及滿足不定方程 48x + 60y = GCD(48, 60)。

按 Prog 1 再按 48 EXE 60 EXE (顯示最大公因數為12)

EXE (顯示 x為 -1) EXE (顯示 y為1)

註: 若果是第一個程式,計算完結後按 MODE 1終止及返回正常計算模式

 

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

Free Web Hosting