AcWing 790. 数的三次方根

原题链接

问题描述:

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

数据范围:

  −10000n10000

分析:

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

代码:

 1 #include<iostream>
 2 using namespace std;
 3 int main(){
 4     double n;
 5     cin>>n;
 6     double l=-10000,r=10000;
 7     double mid;
 8     while(r-l>1e-8){
 9         mid=(l+r)/2;
10         if(mid*mid*mid<n)l=mid;
11         else r=mid;
12     }
13     printf("%.6lf",mid);
14     return 0;
15 }

  

  

猜你喜欢

转载自www.cnblogs.com/yifeianyi/p/12185495.html