AcWing 790. 数的三次方根

柔情痞子 提交于 2020-01-13 18:53:05

原题链接

问题描述:

   给定一个浮点数n,求它的三次方根。

数据范围:

  −10000≤n≤10000

分析:

  由题意可得,在数据范围内枚举即可得n三次方根。但n是浮点数,它的三次方根也是浮点数,
  浮点数在数轴上是稠密分布的,所以只能用二分的思想无限逼近求得答案。

代码:

#include<iostream>
using namespace std;
int main(){
    double n;
    cin>>n;
    double l=-10000,r=10000;
    double mid;
    while(r-l>1e-8){
        mid=(l+r)/2;
        if(mid*mid*mid<n)l=mid;
        else r=mid;
    }
    printf("%.6lf",mid);
    return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!