程序设计与算法(二)算法基础》《第四周 二分》二分法求函数的零点 4142

描述

有函数:

f(x) = x5 - 15 * x4+ 85 * x3- 225 * x2+ 274 * x - 121

已知 f(1.5) > 0 , f(2.4) < 0 且方程 f(x) = 0 在区间 [1.5,2.4] 有且只有一个根,请用二分法求出该根。

输入无。输出该方程在区间[1.5,2.4]中的根。要求四舍五入到小数点后6位。

复制代码
/*
http://bailian.openjudge.cn/practice/4142/
4142:二分法求函数的零点
*/
#include<cstdio>
#include<cmath>
using namespace std;

#define EPS 1e-6
double f(double x)
{
    return pow(x, 5) - 15 * pow(x, 4) + 85 * pow(x, 3) - 225 * pow(x, 2) + 274 * x - 121;
}
int main()
{
    double root, left = 1.5, right = 2.4, y;
    int times = 1;
    root = left + (right - left) / 2;
    y = f(root);
    while (fabs(y) > EPS)
    {
        if (y > 0)
        {
            left = root;
        }
        else
        {
            right = root;
        }
        root = left + (right - left) / 2;
        y = f(root);
        times++;
    }
    printf("%.6lf\n", root);
    //printf("%d\n", times);
}
复制代码

 

posted @   清风oo  阅读(350)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2018-09-09 Python data analysis (CH03)
点击右上角即可分享
微信分享提示