二次函數因式分解及一元二次方程

程式新版

第一個程式及第三個程式雖然較簡短,但計算較大的因子時(例如: 分解 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

 

 

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

Free Web Hosting