zoukankan      html  css  js  c++  java
  • 二分求根

    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]中的根。要求四舍五入到小数点后6位。
    样例输入
    样例输出
    不提供


    思路:二分求根,精度已经说在6位小数,所以这时候精度求到第一个小于0.000001的保留六位即可,根有可能是无限小数,不能用=来退出循环。

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    const int maxn = 100000+10;
    
    using namespace std;
    
    double Cal(double x) {
        double ans =x*x*x*x*x - 15*x*x*x*x+ 85*x*x*x - 225*x*x + 274*x - 121;
        return ans;
        }
    
    void search() {
    
        double l = 1.5;
        double r = 2.4;
        double mid;
        while(r-l > 0.000001) {
            mid = (l+r)/2;
            if(Cal(mid)<0) {
                r = mid;
            }
            else if(Cal(mid)>0) {
                l = mid;
            }
        }
        printf("%.6f
    ",mid);
        }
    
    int main()
    {
    //    freopen("in.txt","r",stdin);
        search();
    
        return 0;
    }
  • 相关阅读:
    LeetCode 25 Reverse Nodes in k-Group
    圆桌派:家世背景对人的影响有多大
    BibTex 学习笔记
    R parallel包实现多线程1
    IIS学习笔记
    高效完成R代码
    圆桌派 :我们,朋友一生一起走
    高文欣个人简介
    R语言函数话学习笔记5
    git学习笔记1
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7195804.html
Copyright © 2011-2022 走看看