给定一个浮点数n,求它的三次方根。
输入格式
共一行,包含一个浮点数n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留6位小数。
数据范围
−10000≤n≤10000
输入样例:
1000.00
输出样例:
10.000000
AC代码:
#include<stdio.h>
double n;
double ans;
double figure(double x)
{
return x*x*x;
}
int main()
{
scanf("%lf",&n);
double l,r,mid;
n>=0?(l=0,r=n):(l=n,r=0);//保证l是小端,r是大端
double temp;
while(r-l>=0.0000001)//保证小数点后6位准确,选1e-7
{
mid=(l+r)/2;
temp=figure(mid);
if(temp>n){
r=mid;
}
else if(temp<n){
l=mid;
}
else {
ans=mid;break;}
ans=l;//一般优先取小的近似值
}
printf("%.6lf\n",ans);
return 0;
}