算法学习——浮点数二分

Posted flydoggie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法学习——浮点数二分相关的知识,希望对你有一定的参考价值。

浮点数二分不需要考虑太多的边界问题,只需要保证精度满足题目的要求即可,通常在acm中,假如题目精度要求保留n位小数,我们正常设置与标准答案的误差为10的负n+2次方就行。

例题:
技术图片

 

 c++代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    double l = -10000,r = 100000;
    double x;
    cin>>x;
    while( r - l > 1e-8 ){
        double mid = (l + r) /2;
        if(mid * mid * mid >= x){
            r = mid;
        }else{
            l = mid;
        }
    }
    cout<<fixed<<setprecision(6)<<l<<endl;
    
    return 0;
}

 

以上是关于算法学习——浮点数二分的主要内容,如果未能解决你的问题,请参考以下文章

基础算法模板之二分

浮点数二分模板题---数的三次方根

浮点数二分

数的三次方根(浮点数二分)

OpenGL:为啥我不能将单个浮点数从顶点着色器传递到片段着色器?

二分算法