题解 P1024 【一元三次方程求解】
panshuonian · · 题解
include<iostream>
include<iomanip>
include<algorithm>
include<string>
include<cmath>
include<cstring>
include<cstdlib>
include<cstdio>
include<ctime>
include<queue>
include<vector>
using namespace std;
double a,b,c,d;
double fc(double x)
{
return axxx+bxx+cx+d;
}
int main()
{
double l,r,m,x1,x2;
int s=0,i;
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
for (i=-100;i<100;i++)
{
l=i;
r=i+1;
x1=fc(l);
x2=fc(r);
if(!x1)
{
printf("%.2lf ",l);
s++;
}
if(x1x2<0)
{
while(r-l>=0.001)
{
m=(l+r)/2;
if(fc(m)fc(r)<=0)
l=m;
else
r=m;
}
printf("%.2lf ",r);
s++;
}
if (s==3)
break;
}
return 0;
}