题解 | #求解立方根#
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
#include <stdio.h>
int main() {
double a,b,c;
int i;
scanf("%lf",&a);
if(a==0){
printf("0.0");
return 0;
}
else if(a<0){
for(i=-28;i<0;i++){
b=i*0.1;
b=b*b*b;
c=(i+1)*0.1;
c=c*c*c;
if(c>=a&&b<=a){
if(c-a<a-b){
printf("%.1f",(i+1)*0.1);
return 0;
}
else{
printf("%.1f",i*0.1);
return 0;
}
}
}
}
else{
for(i=0;i<=27;i++){
b=i*0.1;
b=b*b*b;
c=(i+1)*0.1;
c=c*c*c;
if(c>=a&&b<=a){
if(c-a<a-b){
printf("%.1f",(i+1)*0.1);
return 0;
}
else{
printf("%.1f",i*0.1);
return 0;
}
}
}
}
return 0;
}
