Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
136934 梁颢城 解一元三次方程 C++ 通过 100 0 MS 244 KB 780 2024-03-09 16:22:38

Tests(6/6):


#include<bits/stdc++.h> using namespace std; double a,b,c,d; int main() { scanf("%lf%lf%lf%lf",&a,&b,&c,&d); for(double i = -100;i < 100;i++){ if(a*i*i*i+b*i*i+c*i+d == 0){ printf("%.2lf ",i); continue; } if((a*i*i*i+b*i*i+c*i+d)*(a*(i+1)*(i+1)*(i+1)+b*(i+1)*(i+1)+c*(i+1)+d) < 0){ double left = i,right = i+1; while(right - left > 0.00001){ double mid = (left + right)/2; if((a*left*left*left+b*left*left+c*left+d) * (a*mid*mid*mid+b*mid*mid+c*mid+d) < 0){ right = mid; }else{ left = mid; } } printf("%.2lf ",left); } } return 0; }


测评信息: