日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1238:一元三次方程求解

發(fā)布時(shí)間:2024/1/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1238:一元三次方程求解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

【題目描述】

形如:ax3+bx2+cx+d=0

這樣的一個(gè)一元三次方程。

給出該方程中各項(xiàng)的系數(shù)(a,b,c,d

均為實(shí)數(shù)),并約定該方程存在三個(gè)不同實(shí)根(根的范圍在?100至100之間),且根與根之差的絕對(duì)值≥1。要求由小到大依次在同一行輸出這三個(gè)實(shí)根(根與根之間留有空格),并精確到小數(shù)點(diǎn)后2

位。

【輸入】

一行,包含四個(gè)實(shí)數(shù)a,b,c,d

,相鄰兩個(gè)數(shù)之間用單個(gè)空格隔開。

【輸出】

一行,包含三個(gè)實(shí)數(shù),為該方程的三個(gè)實(shí)根,按從小到大順序排列,相鄰兩個(gè)數(shù)之間用單個(gè)空格隔開,精確到小數(shù)點(diǎn)后2

位。

【輸入樣例】

1.0 -5.0 -4.0 20.0

【輸出樣例】

-2.00 2.00 5.00 #include <iostream> #include <cstdio> #include <vector> #include <queue> #include <algorithm> #include <cstring> #include <string> #include <cmath> #include <map> #include <cstdlib> #define sf(a) scanf("%d\n",&a) #define pf(a) printf("%.2lf ",a) #define e 1e-8 #define ms(a) memset(a,0,sizeof a) #define rep(a,b,c) for(a=b;a<=c;a++) using namespace std; typedef long long ll; typedef unsigned long long ull; const int inf=0x3f3f3f3f; const int idata=5e4+5; int n,ans,t,k; char *ch; int *step; int cnt; int temp[idata]; priority_queue< int,vector<int>,greater<int> >q; pair<int,int>p[idata]; double a,b,c,d;double f(double x) {return a*x*x*x+b*x*x+c*x+d; } int main() {while(cin>>a>>b>>c>>d){double x1,x2;for(int i=-100;i<=100;i++){x1=i,x2=i+1;if(f(x1)==0) pf(x1);else if(f(x1)*f(x2)<0){double mid;while(x2-x1>=0.001){mid=(x1+x2)/2;if(f(mid)*f(x1)<=0){x2=mid;}else{x1=mid;}}pf(mid);}}puts("");} }

?

總結(jié)

以上是生活随笔為你收集整理的1238:一元三次方程求解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。