唐钧 • 2个月前
using namespace std; int n; double a,b,c,d,ax[10097]; double f(double x) {
return (x*x*x*a+b*x*x+c*x+d);
} void ex(double l,double r) {
if(l>r||n>2||f(l)*f(r)>0&&r-l<1)
{
return;
}
double mid=(l+r)/2;
if(fabs(f(mid))<1e-4)
{
ax[++n]=mid;
ex(l,mid-1);
ex(mid+1,r);
}
else
{
ex(l,mid);
ex(mid,r);
}
} int main() {
cin>>a>>b>>c>>d;
ex(-100,100);
printf("%0.2f %0.2f %0.2f",ax[1],ax[2],ax[3]);
return 0;
}
评论: