输入格式:
输出格式:
在一行中输出该多项式在该区间内的根, 精确到小数点后 2 位.
输入样例:
- 3 -1 -3 1
- -0.5 0.5
输出样例:
0.33
代码如下:
- #include<stdio.h>
- #include<math.h>
- double a0,a1,a2,a3;
- double f(double a)
- {
- return a3*pow(a,3)+a2*pow(a,2)+a1*a+a0;
- }
- int main()
- {
- double a,b;
- scanf("%lf%lf%lf%lf",&a3,&a2,&a1,&a0);
- scanf("%lf%lf",&a,&b);
- double x=(a+b)/2.0;
- while((b-a)>=0.0001)// 关键
- {
- if(f(x)==0)
- break;
- else if(f(x)*f(a)>0)
- a=x;
- else if(f(x)*f(b)>0)
- b=x;
- x=(a+b)/2.0;
- }
- printf("%.2lf",x);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-3459767.html