浮点数的二分
题目
给定一个浮点数 n,求它的三次方根。
输入格式
共一行,包含一个浮点数 n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留 6 位小数。
数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000
分析
用二分的方法做即可。
代码
#include<iostream>
#include<iomanip>
using namespace std;
double n, l, r, x;
int main(void){
scanf("%lf", &n);
l = -10000, r = 10000;
while (r - l > 1e-7){
double mid = (l + r) / 2;
if (mid * mid * mid <= n) l = mid;
else r = mid;
}
cout << fixed << setprecision(6) << l;
}