SDNU 1416.一元三次方程求解(数学)
生活随笔
收集整理的這篇文章主要介紹了
SDNU 1416.一元三次方程求解(数学)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Description
有形如:ax3+bx2+cx+d=0? 這樣的一個一元三次方程。給出該方程中各項的系數(shù)(a,b,c,d? 均為實數(shù)),并約定該方程存在三個不同實根(根的范圍在-100至100之間),且根與根之差的絕對值> =1。要求三個實根。Input
四個實數(shù):a,b,c,d?Output
由小到大依次在同一行輸出這三個實根(根與根之間留有空格),并精確到小數(shù)點后2位?Sample Input
1? -5? -4? 20Sample Output
-2.00? 2.00? 5.00Hint
數(shù)據規(guī)模和約定 |a|,|b|,|c|,|d|< =10 1.盛金公式 一元三次方程aX3+bX2+cX+d=0,(a,b,c,d∈R,且a≠0) 重根判別式 總判別式Δ=B2-4AC。 當A=B=0時, 盛金公式1: 當Δ=B2-4AC>0時, 盛金公式2: 盛金公式2的三角式: 其中 , 。 當Δ=B2-4AC=0時, 盛金公式3: 其中 。 當Δ=B2-4AC<0時, 盛金公式4: 其中 , (A>0,-1<T<1)。 2.盛金判別法 當A=B=0時,方程有一個三重實根。 當Δ=B2-4AC>0時,方程有一個實根和一對共軛虛根。 當Δ=B2-4AC=0時,方程有三個實根,其中有一個二重根。 當Δ=B2-4AC<0時,方程有三個不相等的實根。 3.盛金定理 當b=0,c=0時,盛金公式1無意義;當A=0時,盛金公式3無意義;當A≤0時,盛金公式4無意義;當T<-1或T>1時,盛金公式4無意義。 當b=0,c=0時,盛金公式1是否成立?盛金公式3與盛金公式4是否存在A≤0的值?盛金公式4是否存在T<-1或T>1的值?盛金定理給出如下回答: 盛金定理1:當A=B=0時,若b=0,則必定有c=d=0(此時,方程有一個三重實根0,盛金公式1仍成立)。 盛金定理2:當A=B=0時,若b≠0,則必定有c≠0(此時,適用盛金公式1解題)。 盛金定理3:當A=B=0時,則必定有C=0(此時,適用盛金公式1解題)。 盛金定理4:當A=0時,若B≠0,則必定有Δ>0(此時,適用盛金公式2解題)。 盛金定理5:當A<0時,則必定有Δ>0(此時,適用盛金公式2解題)。 盛金定理6:當Δ=0時,若A=0,則必定有B=0(此時,適用盛金公式1解題)。 盛金定理7:當Δ=0時,若B≠0,盛金公式3一定不存在A≤0的值(此時,適用盛金公式3解題)。 盛金定理8:當Δ<0時,盛金公式4一定不存在A≤0的值。(此時,適用盛金公式4解題)。 盛金定理9:當Δ<0時,盛金公式4一定不存在T≤-1或T≥1的值,即T出現(xiàn)的值必定是-1<T<1。 顯然,當A≤0時,都有相應的盛金公式解題。 注意:盛金定理逆之不一定成立。如:當Δ>0時,不一定有A<0。 盛金定理表明:盛金公式始終保持有意義。任意實系數(shù)的一元三次方程都可以運用盛金公式直觀求解。 #include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> #include <queue> #include <vector> #include <map> using namespace std; #define ll long long const int inf = 0x3f3f3f3f; const int mod = 1e9+7;int main() {double a,b,c,d;double as,bs,t,si;double x1,x2,x3;cin>>a>>b>>c>>d;as=b*b-3*a*c;bs=b*c-9*a*d;t=(2*as*b-3*a*bs)/(2*sqrt(as*as*as));si=acos(t);x1=(-b-2*sqrt(as)*cos(si/3))/(3*a);x2=(-b+sqrt(as)*(cos(si/3)+sqrt(3)*sin(si/3)))/(3*a);x3=(-b+sqrt(as)*(cos(si/3)-sqrt(3)*sin(si/3)))/(3*a);cout<<fixed<<setprecision(2)<<x1<<" ";cout<<fixed<<setprecision(2)<<x3<<" ";cout<<fixed<<setprecision(2)<<x2<<endl;return 0; }?
轉載于:https://www.cnblogs.com/RootVount/p/11255320.html
總結
以上是生活随笔為你收集整理的SDNU 1416.一元三次方程求解(数学)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: doxygen:代码生成文档的工具
- 下一篇: windows安装pycocotools