Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
137021 | 李承瀚 | 解一元三次方程 | C++ | 通过 | 100 | 0 MS | 188 KB | 745 | 2024-03-09 17:00:15 |
#include<cstdio> double a,b,c,d; double fc(double x) { return a*x*x*x+b*x*x+c*x+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(x1*x2<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; }