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-二分法求多项式单根的主要内容,如果未能解决你的问题,请参考以下文章