题目描述
给定一个浮点数n,求它的三次方根。
输入格式
共一行,包含一个浮点数n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留6位小数。
数据范围
−10000≤n≤10000
输入样例
1000.00
输出样例
10.000000
算法1(二分)
C++ 代码
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
double n;
cin >> n;
double l=-1e4;
double r=1e4;
while(r-l>1e-8){//浮点数的比较,用一个小的数来比较,此处7也可以AC,但6不行
double mid=(l+r)/2;
if(mid*mid*mid>=n){
r=mid;
}
else{
l=mid;
}
}
printf("%f\n",l);
return 0;
}
算法2(使用cbrt()函数)
cbrt():求一个数的三次方跟
头文件是#incldue<cmath>
C++ 代码
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double n;
cin >> n;
printf("%6f\n",cbrt(n));
return 0;
}