提交时间:2024-03-09 16:47:08

运行 ID: 136994

#include<bits/stdc++.h> #include<time.h> #define ll long long 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; }