790.数的三次方根
思路
相当于是一个数轴上搜索数,数轴本身就是升序的,所以可以使用二分。任何一切有序的都可以往二分的思路来想。但是要注意二分有可能会死循环或者搜索不到数。
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4;
double n;
int main() {
cin >> n;
double l = -N, r = N;
while (r - l > 1e-8) {
double mid = (l + r) / 2;
if (mid * mid * mid >= n) r = mid;
else l = mid;
}
printf("%.6lf\n", l);
return 0;
}