[NOIP2001 提高组] 一元三次方程求解
[NOIP2001 提高组] 一元三次方程求解
题目描述:
这道题就是一道简单的暴力枚举,做的时候要注意一下double精度,当然用二分做的话肯定会更好(虽然我也不会)
代码如下:
#include<iostream> #include<cstdio> #include<cmath> using namespace std; double a,b,c,d; //double f(double x) 不会做,换了思路 //{ // return a*x*x*x+b*x*x+c*x+d; //} int main() { cin>>a>>b>>c>>d;//输入 for(double i=-100;i<=100;i+=0.01) //枚举每个答案 { if(fabs(i*i*i*a+i*i*b+i*c+d)<0.01)//避免double精度错误 printf("%.02lf ",i); //两位小数输出 } return 0; }