地址:
https://www.acwing.com/problem/content/792/
描述:
代码:
特别注意这里的r!=n
因为假如说n=0.001,那么它的三次方根应该=0.1超出了二分的范围
#include <iostream>
using namespace std;
int main(){
double n;
cin>>n;
//为了防止x是小数的情况
double l=-10000,r=10000;
while(r-l>1e-8){
double mid=(l+r)/2;
if(mid*mid*mid<=n) l=mid;
else r=mid;
}
//规定要保留6位小数
printf("%.6f", r);
return 0;
}