N次方根化簡(I)(整數版)
程式新版
簡介及程式特點: 程式可以化簡一個整數的平方根(將 n√a化簡為 b n√c,其中 a, b, c為正整數)。
第一個程式較為簡短,當答案平方根c值細小時速度很快(參看網頁尾附錄中第3項),但c值大時速度變得相當慢(參看附錄中第2項),較特別是這個版本亦可以計算非循小數平方根化簡問題。
第二個程式平均速度較第一個程式快,特別是答案為b n√c,c值大時速度比第一個程式快很多,但缺點是b值很大及c值細小時,速度頗慢(參看網頁尾附錄中第3項)。
第三個及第四個程式平均速度比第二個程式快,克服了傳統這類平方根化簡程式的問題(同時改善了第一及第二程式在某些情況下特別慢的問題)。
更新日期: 2011年4月21日
第一個程式 (42 bytes,使用記憶A、B、C及M)
MM-: ?→C: ?→A: Sci 8: Lbl 0: 1M+:
C x√( A÷M→B: Ans - Rnd(Ans => Goto 0:
Norm 1: B◢ M
第二個程式(55 bytes,使用記憶A、B、C及D)
?→D: ?→A: Fix 0: Rnd( D x√( A ) - . 5→B: Lbl 0:
A ÷ Ans^( D→C: Ans - Rnd( Ans => B - 1→B:
Ans => Goto 0: Norm 1: B◢ C
第三個程式(57 bytes,使用記憶A、B、C及D)
?→D: 1: ?→A: Fix 0: Lbl 0:
Rnd(D x√( A ÷ Ans ) - . 5→B:
A ÷ B^( D→C: Ans - Rnd(Ans => Rnd( C + . 5
=> Goto 0: Norm 1: B◢ C
第四個程式(74 bytes,使用記憶A、B、C及M)
?→C: 0→B: ?→A: Fix 0: Lbl 0: Rnd(C x√( A ÷
Rnd( B + . 5 ) ) - . 5→M: A ÷ M^( C→B:
Ans - Rnd( Ans => 1M- => A ÷ M^( C→B:
Ans - Rnd( Ans => Goto 0: Norm 1: M◢ B
註1: 注意若在程式執行中(顯示空白時)按AC終止程式,計數機會保持在小數零位(Fix 0)或有效數字8位(Sci 8)的設定。
註2: 注意除第一個程式方根數可輸入非循環小數外,其它程式輸入的數據為整數,否則程式計算不成立。
例題1: 化簡 3√40
按 Prog 1 再按 3 EXE 40 EXE (顯示 2) EXE (顯示 5)
所以 3√40 = 2 3√5
例題2: 化簡 √18
按 Prog 1 再按 2 EXE 18 EXE (顯示 3) EXE (顯示 2)
所以 √18 = 3√2
例題3: 化簡 √0.75 (只適用於第一個程式)
按 Prog 1 再按 2 EXE 0.75 EXE (顯示 0.5) EXE (顯示 3)
所以 √0.75 = 0.5√3
附錄: 三個程式速度測試比較表 (以fx-50FH進行測試)
編號 | 計算項目 | 第一個程式 | 第二個程式 | 第三個程式 | 第四個程式 |
1. | √88=2√22 | 約6秒 | 約1秒 | 約2秒 | 約1秒 |
2. | √39988=2√9997 | 約2880秒 | 約19秒 | 約26秒 | 約19秒 |
3. | √70000=100√7 | 約2秒 | 約16秒 | 約3秒 | 約3秒 |
註3: 第1項測試為一般常見較簡單平方根化簡,第2及3項則測試計算大平根化簡情況,分為兩個情況,情況一為答案的平根數值大及情況二答案的整數部份數值大。