再学一道算法题: 二分法求多项式单根

简介: 再学一道算法题: 二分法求多项式单根

image.png
废话少说 上代码

float a3,a2,a1,a0;
float f(float x);
int main()
{
    float a,b;
    scanf("%f %f %f %f %f %f",&a3,&a2,&a1,&a0,&a,&b);//输入函数f的系数以及区间a,b的值
    float left,right,mid;
    left=a;//把a的值赋给left,避免了如果要修改a,要一个一个修改的尴尬
    right=b;
    while(right-left>0.001&&f(right)*f(left)<=0)//控制条件
    {
        if(f(left)==0)//当区间左端点为根
        {
            printf("%.2f",left);
            return 0;
        }
         if(f(right)==0)//区间的右端点为根
        {
            printf("%.2f",right);
            return 0;
        }
        mid=(left+right)/2;
        if(f(left)*f(mid)>0)
        {
            left=mid;    
        }else
        {
            right=mid;
        }
    } 
    printf("%.2f",(left+right)/2);
    return 0;
} 
float f(float x)
{
    float f1;
    f1=a3*x*x*x+a2*x*x+a1*x+a0;
    return f1;
}
相关文章
|
3天前
|
机器学习/深度学习 算法 数据挖掘
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
【MATLAB】数据拟合第10期-二阶多项式的局部加权回归拟合算法
55 0
|
8月前
|
算法 搜索推荐 C语言
初阶算法(3):二分法的讲解与实现(C语言),以及二分不止光在有序数组中的应用
初阶算法(3):二分法的讲解与实现(C语言),以及二分不止光在有序数组中的应用
|
10月前
|
算法 C++
c++实现多项式算法
用c++语言实现简单的输出多项式算法
109 0
|
10月前
|
Cloud Native 算法 Go
886. 可能的二分法:图+深度优先算法
这是 力扣上的 886. 可能的二分法,难度为 中等。
|
11月前
|
算法 索引
从小白开始刷算法 二分法篇 leetcode.74
从小白开始刷算法 二分法篇 leetcode.74
|
11月前
|
算法 索引
从小白开始刷算法 二分法篇 leetcode.162
从小白开始刷算法 二分法篇 leetcode.162
|
11月前
|
算法 索引
从小白开始刷算法 二分法篇 leetcode.35
从小白开始刷算法 二分法篇 leetcode.35
|
11月前
|
算法 索引
从小白开始刷算法 二分法篇 leetcode.704
从小白开始刷算法 二分法篇 leetcode.704
|
11月前
|
算法 JavaScript 前端开发
javascript算法之从会用到理解 - 二分法
javascript算法之从会用到理解 - 二分法
87 0
算法的时间复杂度比较,计算多项式的直接法和秦九韶法
算法的时间复杂度比较,计算多项式的直接法和秦九韶法
算法的时间复杂度比较,计算多项式的直接法和秦九韶法