一元三次方程(IV)
程式更新日期: 2011年5月29日
程式由網友 roviury 提供。
程式需要在 CMPLX 模式下執行,因此在輸入程式前請先按 Mode 2。
注意: 5!o是按 5 SHIFT x! SHIFT Ans 1。
程式一(實數係數版本,110 bytes,使用記憶A, B, C及M)
?→A: ?→B: ?→C: ?→M:
B3 - 9┘2A( BC - 3MA→M: B2 - 3AC→C: √( M2 -
C3:
Ans - M -
2Ans(Ans=M→M:
3√Abs Ans =>
Ans∠(3-1 arg M→M:
Lbl 0: Abs M => M + C÷M: (Ans - B)÷3A◢ M (1∠5!o→M: Goto 0
程式二(複數係數版本,125 bytes,使用記憶A, B, C及M)
?→A: ?→B: ?→C: ?→M:
B3 - 9┘2A( BC - 3MA→M: B2 - 3AC→C:
√ Abs ( M2 - C3) => Ans∠( . 5 arg ( M2 - C3: Ans - M - 2Ans(Ans=M→M:
3√ Abs Ans => Ans∠(3-1 arg M→M:
Lbl 0: Abs M => M + C÷M: (Ans - B)÷3A◢ M (1∠5!o→M: Goto 0
例題1: 解 3x3 - 5x2 + x - 4 =0
按 Prog 1 再按 3 EXE - 5 EXE 1 EXE - 4 EXE (顯示第一個根為1.86977)
EXE ( 此時計算機右上角出現R<=>I,表示為複數解)
(顯示第二個根實數部為 - 0.101554)
Shift Re<=>Im (顯示第 二個根虛數部為 0.838323 i)
EXE (顯示第三個根的實數部為 - 0.101554)
Shift Re<=>Im (顯示第 三個根虛數部為 - 0.838323 i)
計算完結後按 AC 終止程式
例題2: 解 x3 + ( -3 - 9i)x2 + ( -29 + 12i)x + 25 + 21i = 0
按 Prog 1 再按 1 EXE -3 - 9i EXE -29 + 12i EXE
25 + 21i EXE (顯示第一個根的實數部為 4)
Shift Re<=>Im (顯示第 一個根虛數部為 5 i)
EXE (顯示第二個根的實數部為1)
Shift Re<=>Im (顯示第二個根虛數部為 i)
EXE (顯示第三個根的實數部為 - 2)
Shift Re<=>Im (顯示第三個根虛數部為 3 i)
計算完結後按 AC 終止程式
例題3: 解 x2 - 7x + 12 = 0 (一元二次方程)
方程可以寫成 x3 - 7x2 + 12x = 0 (其中捨去 一個 x=0 的解)
按 Prog 1 再按 1 EXE - 7 EXE 12 EXE 0 EXE(顯示第一個實數根為4)
EXE (顯示第二個根為0 (捨去)) EXE (顯示第三個實數根為3)
計算完結後按 AC 終止程式