数的三次方根
给定一个浮点数n,求它的三次方根。
输入格式
共一行,包含一个浮点数n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留6位小数。
数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000
时间复杂度
O(logn)
C++ 代码
#include <iostream>
#include <cstdio>
using namespace std;
/*
注意事项:
1. 三次方根计算实际是区间计算,划归为x附近邻域描述;
2. 精度精确到 小数点后 8位;
3. float 小数点后第八位存在舍入,精度仅 1e-6,会存在误差;
4. 输出需要 printf,选项 %.6lf, cout默认不足6位;
*/
int main() {
double n;
cin >> n;
// 三次方根计算实际是区间计算;
double hig = 100, low = -100;
double mid;
// 精度 1e-8
while (hig-low > 1e-8)
{
mid = (hig + low) / 2;
if (mid *mid *mid < n) {
low = mid;
}
else {
hig = mid;
}
}
printf("%.6lf\n", mid);
system("PAUSE");
return 0;
}