三次函數因式分解

文章推薦指數: 80 %
投票人數:10人

程式可以將三次函數分解,三次函數的形式為ax3 + bx2 + cx + d 或ax3 + bx2y + cxy2 + dy3,程式會將函數先分解為一個一次式及一個二次式,若果二次式 ... 三次函數因式分解 網友roviury及Skwai提供修改意見。

更新日期:2015年1月14日 程式可以將三次函數分解,三次函數的形式為ax3+bx2+cx+ d或ax3+bx2y+cxy2+dy3,程式會將函數先分解為一個一次式及一個二次式,若果二次式可以分解,則會再分解二次式為兩個一次式及一個常數因子。

程式一(311bytes) ?→A:?→B:-B┘(3A→B:?→C:?→D: B3-(BC+D)┘(2A→M:B2-C┘(3A:M2-Ans3→Y: 0>Y=>Goto0:B+ 3√(M+√(Y))+3√( M-√(Y→D:1→M:Goto1: Lbl0:23√(Pol(M,√(-Y→X:Y÷3→Y:3→M:Lbl4:B+Xcos(Y+5!oM→D: Lbl1:Fix0:Rnd(AD:Norm1:Ans≠Rnd(AD=>M-1→M:Ans =>Goto4:M-1:1→M: Lbl5:Fix0:Rnd(MD:Norm1:Ans≠Rnd(MDM+ =>Goto5:M◢ -DM→X◢A÷M→A◢ AD-3AB→B◢M-1(C-XAns→C◢-B┘(2A→B:B+√(B2 -C┘A→X: Fix0:AX=Rnd(AX:Norm1:log(Ans: For0→DTo1:1→M:Fix0:Lbl3: XM≠Rnd(XMM+=>Goto3:Norm1: M◢-XAns◢2B-X→X:A÷M→A:Next 註:如果是使用fx-3650PII或fx-50FHII,上述程式中紫色的開括號( 可以省略,程式長度可減2byte。

程式二(269bytes,速度較慢,注意:5!o是按5SHIFT x!SHIFTAns1。

) ?→A:?→B:B┘(3A→B:?→C:?→D: -B3-(D-BC)┘(2A→M:B2-C┘(3A:M2-Ans3→Y: √(Abs(Y:If0>Y:Then23√(Pol(M, Ans→X:3→M: WhileAns:B-Xcos(Y÷3+5!oM→D: 1M-: Msin(ADπr:WhileEnd: ElseB-3√(M+Ans)- 3√(M-Ans→D:IfEnd: 0Psin(ADπr)^(10→M:Whilesin(MDπr)^(10:1M+: WhileEnd:M◢ MD→X◢A÷M→A◢3AB-AD→B◢M-1(C-XB→C◢ B┘(2A→B:B-√(B2-C┘A→X: For0→DTo0Psin(AXπr)^(10:MM-:Lbl 3:1M+:sin(MXπr)^(10 =>Goto3: M◢MX◢2B-X→X:A÷M→A:Next   例題1:因式分解3x3-7x2+29x-9 按Prog1再按3EXE-7EXE29EXE-9EXE(顯示一次因子的x係數為3) EXE(顯示一次因子的常數項為-1) EXE(顯示二次因子的x2係數為1) EXE(顯示二次因子的x係數為-2) EXE(顯示二次因子的常數項為9) EXE(出現MathERROR表示二次因子不能再分解) 所以3x3-7x2+29x-9=(3x-1)(x2-2x+ 9)   例題2:因式分解30x3+31x2-25x-6 按Prog1再按30EXE31EXE-25EXE-6EXE(顯示一次因子的x係數為3) EXE(顯示一次因子的常數項為-2) EXE(顯示二次因子的x2係數為10) EXE(顯示二次因子的x係數為17) EXE(顯示二次因子的常數項為3) EXE(顯示第二個一次因子的x係數為5) EXE(顯示第二個一次因子的x常數項為1) EXE(顯示第三個一次因子的x係數為2) EXE(顯示第三個一次因子的x常數項為3) EXE(顯示常數因子為1) 所以 30x3+31x2-25x-6=(3x-2)(10x2+17x +3) 30x3+31x2-25x-6=1(3x -2)(5x+1)(2x+3)=(3x-2)(5x+1)(2x+3)   例題3:因式分解8x3+27y3 按Prog1再按8EXE0EXE0EXE27EXE(顯示一次因子的x係數為2) EXE(顯示一次因子的y係數為3) EXE(顯示二次因子的x2係數為4) EXE(顯示二次因子的xy係數為-6) EXE(顯示二次因子的y2係數為9) EXE(出現MathERROR表示二次因子不能再分解) 所以8x3+27y3=(2x+3y)(4x2-6xy+9y2)   註:程式亦可以用作分解二次函數,依次輸入係數,最後的數據輸入0,只要將答案其中一個中x+0的因子捨去即可。

例題4:因式分解x2-7x+12 按Prog1再按1EXE-7EXE12EXE0EXE(最後輸入0,顯示一次因子的x係數為 1) EXE(顯示一次因子的常數項為-4) EXE(顯示二次因子的x2係數為1) EXE(顯示二次因子的x係數為-3) EXE(顯示二次因子的常數項為0) EXE(顯示第二個一次因子的x係數為1) EXE(顯示第二個一次因子的x常數項為-3) EXE(顯示第三個一次因子的x係數為1) EXE(顯示第三個一次因子的x常數項為0) EXE(顯示常數因子為1) 所以x2-7x+12=(x-4)(x-3)   註1:注意輸入的係數必須為整數,否則計算不成立。

註2:若果程式出現mathERROR即表示不能再分解。

註3:第一個係數的數值越大,計算的時間可能會越長。

  返回CASIOfx-50FH、fx-3650PII、fx-50FHII及fx-50FPLUS程式集



請為這篇文章評分?