【vijos 1116】【codevs 1038】一元三次方程求解
哇,好高端,然后...
搜了下题解。。。卧槽。。尼玛。。
..........以eps=0.01来枚举一次。
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
double a,b,c,d;
const double eps = 0.01;
double f(double x,double _a,double _b,double _c,double _d)
{
return pow(x,3)*_a+pow(x,2)*_b+x*_c+_d;
}
int main()
{
cin>>a>>b>>c>>d;
for(double i = -100.0;i<=100;i+=eps)
{
double t = f(i,a,b,c,d);
if(t<=eps&&t>=-eps)//t==0
printf("%.2lf ",i);
}
return 0;
}
呵呵.这样怎么能满足?
嗯,然后就搜了下一般意义下的解法。
首先我们可以求导&#