数的三次方根

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

输入格式

共一行,包含一个浮点数 n

输出格式

共一行,包含一个浮点数,表示问题的解。

注意,结果保留 6 位小数。

数据范围

-10000<=n<=10000


注意符号类型为double型,所以边界问题很简单。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>

using namespace std;
double square3(double n){
double l=-10000;
double r=10000;
while(r-l>1e-8){
double mid=(l+r)/2;
if(mid*mid*mid<n) l=mid;
else r=mid;
}
return l;
}


int main(){
double n;
cin>>n;
printf("%.6f\n",square3(n));
return 0;
}