题目要求:给你三个实数,a,b,c,d。分别为一元三次方程的四个常数,输出三个答案
答案均在-100至100之间
输入要求:一行,4个实数 a,b,c,d
输出要求:一行,3个实根,从小到大输出,并精确到小数点后2位。
样例输入:1 -5 -4 20
样例输出:-2.00 2.00 5.00
暴力筛查,数据范围给了,放心,不会爆掉的Q-Q
#include <bits/stdc++.h>
#include <cmath>
//万能头文件
using namespace std;
int main ()
//主函数
{
double a,b,c,d;
cin>>a>>b>>c>>d;
//定义四个数,并输入
for (double i=-100;i<=100;i+=0.001)//筛查,用for循环
//从-100到100逐个筛查,每次加0.001,不然会漏答案
{
if (abs(i*i*i*a+i*i*b+i*c+d)<0.00001)
//首先保证答案大于等于零,用abs,再代入公式,看看是否符合条件=0,这里写=0也可以
{
cout<<fixed<<setprecision(2)<<i<<' ';//输出两位小数,空格
}
//继续筛选
}
return 0;//完美收场,撒花
}
都看到这了,点个赞再走呗