二次函數因式分解及一元二次方程
程式新版
第一個程式及第三個程式雖然較簡短,但計算較大的因子時(例如: 分解 10000x2 + 200x + 1),速度會很慢,亦是現時大部份二次因式分解程式的問題。第二個程式克服了這方面的問題,能夠快速計算出較大的整數因子。 網頁尾的附錄亦附加了這兩個程式二次方程式,答案以分數形式表示的版本
更新日期: 2012年1月7日
第一個程式 (100 bytes)
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
. 5( A-1(√C - B→X◢ . 5( A-1(- √C - B→Y◢
Lbl 0: 1M+: XM: Fix 0: Rnd: Norm 1:
XM - Ans => Goto 0: A÷M→A: MM-◢ - XAns◢
Y→X: D=0→D => Goto 0: A
第二個程式 (153 bytes):
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
. 5( A-1(√C - B→X◢ . 5( A-1(- √C - B→Y◢
Lbl 0: 1→B: X→C: Lbl 1: B→D: X÷B: Fix 0: Rnd:
X - AnsB→B: B=0 => 1→D => Goto 2: D→X: B-1: Rnd:
√Ans2→D: AnsC: Rnd: DC - Ans => Goto 1: Lbl 2: Norm 1:
D◢ - DC◢ A÷D→A: Y→X: M=0→M => Goto 0: A
第三個程式由網友 Skwai 提供。
第三個程式(簡短版本) (84 bytes)
注意: 這個程式為第一個程式精簡版本,雖然更加簡短,但速度較慢,另外亦有一些額外限 制,程式可能無法解 ax2 + bx =0 形式的方程(即其中一個解為x=0的情況),因此亦可能無法分解 ax2 + bx (即其中一個因子為x),。
Mem clear: ?→A: ?→B: ?→C:
2C┘(-B - √( B2 - 4AC→B◢ C┘(
A Ans→C◢
Lbl 0: 1M+: πrBM:
sin Ans => Goto 0: A┘M→A:
MM-◢ - BAns◢ C→B: D=0→D =>
Goto 0: A
註1:輸入的係數可以是整數、小數或分數。若果所得的答案為小數可按 a b/c 嘗試轉為分數。
註2:若果只計一元二次方程問題,顯示兩根後可直接按AC中止程式。
註3: 若果不想顯示一元二次方程式的根,可將綠色的◢改為 : 即可。
註4: 若果函數不能分解為有理數因子,第一個程式及第三個程式會出現Math ERROR或是長時間顯示空白,這時請按AC中止程式執行,第二個程式則會出現Math ERROR或顯示很大的分子或分母(大於10個位整數),要注意這 時是近似值答案,實際上沒有簡單因子。
例題1: 因式分解 f(x)=42x2 – 20x + 2
按 Prog 1 再按 42 EXE - 20 EXE 2 EXE (顯示 f(x)=0的一個根為0.333333333)
EXE (顯示 f(x)=0的另一個根為0.142857142)
EXE (顯示第一個因子x項係數為 3)
EXE (顯示第一個因子常數項係數為 -1)
EXE (顯示第二個因子x項係數為 7)
EXE (顯示第二個因子常數項係數為 -1)
EXE (顯示第三個常數因子)為 2
因此,42x2 – 20x + 2 = 2(3x - 1)(7x - 1)
例題2: 因式分解 9a2 - 12ab + 4b2
按 Prog 1 再按 9 EXE - 12 EXE 4 EXE (顯示0.666666666)
EXE (顯示0.666666666)
EXE (顯示3) EXE (顯示 - 2)
EXE (顯示3) EXE (顯示 - 2)
EXE (顯示1)
因此,9a2 – 12ab + 4b2 = (3a - 2b)2
例題3: 因式分解 18a2 - 32b2
按 Prog 1 再按 18 EXE 0 EXE -32 EXE (顯示 1.333333333)
EXE (顯示 - 1.333333333)
EXE (顯示3) EXE (顯示 - 4)
EXE (顯示3) EXE (顯示 4)
EXE (顯示2)
因此,18a2–32b2 = 2(3a–4b)(3a + 4b)
附錄
注意: 10x是按shift log。
第一個程式分數根顯示版本(103 bytes)
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
(√C - B)┘( 2A→X◢ (√C + B)┘- 2A→Y◢
Lbl 0: 1M+: . 1XM 10x1: Fix 0: Rnd: Norm 1:
XM - Ans => Goto 0: A÷M→A: MM-◢ - XAns◢
Y→X: D=0→D => Goto 0: A
第二個程式分數根顯示版本 (156 bytes)
Mem clear: ?→A: ?→B: ?→C: B2 - 4AC→C:
(√C - B)┘( 2A→X◢ (√C + B)┘- 2A→Y◢
Lbl 0: 1→B: X→C: Lbl 1: B→D: . 1X÷ . 1B: Fix 0: Rnd:
X - AnsB→B: B=0 => 1→D => Goto 2: D→X: B-1: Rnd:
√Ans2→D: AnsC: Rnd: DC - Ans => Goto 1: Lbl 2: Norm 1:
D◢ - DC◢ A÷D→A: Y→X: M=0→M => Goto 0: A