题解 P1024 【一元三次方程求解】

· · 题解

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; }