数的三次方根

题目描述

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

输入格式

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

输出格式

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

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

数据范围

  • −10000≤n≤10000

样例

输入样例:

1
1000.00

输出样例:

1
10.000000

算法1

(二分) O(logn)

小数二分

C++ 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <bits/stdc++.h>

using namespace std;

double x;

double bsearch(double x) {
double l = -1e3, r = 1e3;
while(r - l > 1e-8) { //取保留位数多2位,如:保留一位小数,写1e-3
double mid = (l + r) / 2;
if(mid * mid * mid >= x) r = mid;
else l = mid;
}
return l;
}

int main() {
cin >> x;
printf("%.6lf",bsearch(x));
return 0;
}
作者

Xiongyuqi

发布于

2024-05-28

更新于

2024-05-28

许可协议

评论