首页 > 其他 > 详细

PAT-二分法求多项式单根

时间:2020-03-13 19:02:02      阅读:63      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 输入格式:

技术分享图片

 

输出格式:

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

原文:https://www.cnblogs.com/yunners/p/12488098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!