PAT-二分法求多项式单根

Posted yunners

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT-二分法求多项式单根相关的知识,希望对你有一定的参考价值。

技术图片

 

 输入格式:

技术图片

 

输出格式:

在一行中输出该多项式在该区间内的根,精确到小数点后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;
}

  

以上是关于PAT-二分法求多项式单根的主要内容,如果未能解决你的问题,请参考以下文章

03-树1. 二分法求多项式单根

03-树1. 二分法求多项式单根

7-18 二分法求多项式单根(20 分)

[PTA]7-18 二分法求多项式单根

数据结构(陈越) 作业题 第三周

PAT:1010一元多项式求导 (25 )