1.在做浮点数二分的时候需要记住有一个经验值,题目中若是要我们保留6为小数,那么我们的eps需要设置为1e8,(经验值:精确的小数点部分+2)
2.我们在写二分代码的时候需要记得 l = mid, r = mid;
代码:
#include <iostream>
#include <cstdio>
using namespace std;
const double eps = 1e-8;
inline double find(double l, double r, double x) {
while(r - l > eps) {
double mid = (l + r) / 2;
if(mid * mid * mid >= x) r = mid;
else l = mid;
}
return l;
}
int main(void) {
double n;
scanf("%lf", &n);
double t = find(-101, 101, n);
printf("%.6lf\n", t);
return 0;
}