数的三次方根
给定一个浮点数n,求它的三次方根。
简单的二分,每次二分判断中点的三次方和n的关系,如果大于则在左区间,反之在右区间,由于是浮点类型,所以等号比较随意。
#include <bits/stdc++.h>
using namespace std;
inline double q(double x){return x*x*x;}
int main(){
double x;
scanf("%lf", &x);
double l = -10000,r = 10000;
while((r - l) >= 1e-7){
double mid = (r + l) / 2;
if(q(mid) >= x)r = mid;
else l = mid;
}
printf("%.6f
", l);
}