zcmu-2116一元三次方程求解
生活随笔
收集整理的這篇文章主要介紹了
zcmu-2116一元三次方程求解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2116: 一元三次方程求解
Time Limit:?1 Sec??Memory Limit:?128 MBSubmit:?65??Solved:?23
[Submit][Status][Web Board]
Description
有形如:ax3+bx2+cx+d=0 這樣的一個一元三次方程。給出該方程中各項的系數(a,b,c,d 均為實數),并約定該方程存在三個不同實根(根的范圍在-100至100之間),且根與根之差的絕對值>=1。要求三個實根。。
輸入格式
四個實數:a,b,c,d
Input
四個實數:a,b,c,d
Output
由小到大依次在同一行輸出這三個實根(根與根之間留有空格),并精確到小數點后2位
Sample Input
1 -5 -4 20Sample Output
-2.00 2.00 5.00HINT
|a|,|b|,|c|,|d|<=10
Source
算法提高
解析:網上的大多都是二分求解,這里我用了枚舉一遍,可能比較簡短吧!但是要是數據大點,還是二分的好
代碼:
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> #include<vector> #include<map> #include<list> #include<algorithm> using namespace std;double a,b,c,d,r,l,i,j,mid;int main() {scanf("%lf%lf%lf%lf",&a,&b,&c,&d);int cnt=0;for(double x=-100;x<=100;x+=0.01){if(abs(a*x*x*x+b*x*x+c*x+d)<=0.000001){printf(cnt==0?"%.2f":" %.2f",x);cnt++;}}return 0; }總結
以上是生活随笔為你收集整理的zcmu-2116一元三次方程求解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zcmu-2119
- 下一篇: kibana下载安装