Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
136994 杨博煊 解一元三次方程 C++ 解答错误 83 0 MS 264 KB 502 2024-03-09 16:47:08

Tests(5/6):


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


测评信息: