4142:二分法求函数的零点(二分查找)

总时间限制: 
1000ms

内存限制: 
65536kB
描述

有函数:

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位。
样例输入
样例输出
1.849016

只输出结果,也可以通过。
#include <bits/stdc++.h>
using namespace std;

int fun(double x){
    double s=x*x*x*x*x-15*x*x*x*x+85*x*x*x-225*x*x+274*x-121;
    if(s>0)return 1;
    else return 0;
} 

int main() {
    double left=1.5,right=2.4;
    while(right-left>0.0000001){
        double mid=left+(right-left)/2;
        if(fun(mid))left=mid;
        else right=mid;

    }
    printf("%.6lf\n",left);

    return 0;
}

原文地址:https://www.cnblogs.com/aiqinger/p/12582367.html

时间: 2024-10-17 02:21:21

4142:二分法求函数的零点(二分查找)的相关文章

02:二分法求函数的零点

http://noi.openjudge.cn/ch0111/02/ 02:二分法求函数的零点 总时间限制:  1000ms 内存限制:  65536kB 描述 有函数: 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]中的根.要求四舍五入到小

#STL函数学习:二分查找函数/去重函数

二分查找lower_bound() :https://blog.csdn.net/qq_40160605/article/details/80150252 https://www.jianshu.com/p/cb0d5488bb6a 去重函数: https://www.cnblogs.com/wangkundentisy/p/9033782.html https://www.cnblogs.com/hua-dong/p/7943983.html 原文地址:https://www.cnblogs.

HDU 2899 Strange fuction (求导解方程+二分查找)

题目链接:click here~~ [题目大意]: Now, here is a fuction:  F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x (0 <= x <=100)  Can you find the minimum value when x is between 0 and 100.给你一个方程,求其给定范围内的最小值. [解题思路]: 首先,对该式子,求一阶导,得到F'(x) = 42*x^6 + 48*x^5+21*x^2+10*x-y,这里,我们

二分求函数零点

二分法求函数的零点 总时间限制:  1000ms 内存限制:  65536kB 描述 有函数: 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位. 样例输入 无 样例输出 不提供'四舍五入'[代码] 1 #in

noi题库(noi.openjudge.cn) 1.11编程基础之二分查找T01、02、04

T01 查找最接近的元素 描述 在一个非降序列中,查找与给定值最接近的元素. 输入 第一行包含一个整数n,为非降序列长度.1 <= n <= 100000.第二行包含n个整数,为非降序列各元素.所有元素的大小均在0-1,000,000,000之间.第三行包含一个整数m,为要询问的给定值个数.1 <= m <= 10000.接下来m行,每行一个整数,为要询问最接近元素的给定值.所有给定值的大小均在0-1,000,000,000之间. 输出 m行,每行一个整数,为最接近相应给定值的元素

养成良好的编程风格--论二分查找的正确姿势

摘自:http://www.cnblogs.com/ider/archive/2012/04/01/binary_search.html 在学习算法的过程中,我们除了要了解某个算法的基本原理.实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度.在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度. 时间复杂度按优劣排差不多集中在: O(1), O(log n), O(n), O(n log n), O(n2), O(nk), O(2n) 到目前位置,似乎我学到的算法中,时间复杂度

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

二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2:否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2): 如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根:否则 如果f((a+b)/2)与f(a)同号,则说明根在区间[(a+b)/2, b],令a=(a+b)/2,重复循环:

中国大学MOOC-陈越、何钦铭-数据结构基础习题集 03-1. 二分法求多项式单根

03-1. 二分法求多项式单根(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 杨起帆(浙江大学城市学院) 二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2:否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2): 如

03-1. 二分法求多项式单根(PAT)

二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0. 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2:否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2): 如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根:否则 如果f((a+b)/2)与f(a)同号,则说明根在区间[(a+b)/2, b],令a=(a+b)/2,重复循环: