题解 | #求解立方根#

求解立方根

http://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca

#include<iostream>
#include<stdio.h>
#include<cstdio>
using namespace std;
 
int main()
{
 double a;
    while(cin>>a)
    {
        int e=0;
        if(a<0)
        {
            e=1;
            a=-a;
        }
       double d;
        for(int i=0;i<a;i++)
        {
            if(i*i*i<a&&(i+1)*(i+1)*(i+1)>a)
            {
                d=i;
                break;
            }
        }
        double c=d+1;
       while(c-d>=0.001) 
    {
       if((d+(c-d)/2)*(d+(c-d)/2)*(d+(c-d)/2)>a)
        {
         
        c=d+(c-d)/2;
         
        }
    else if((d+(c-d)/2)*(d+(c-d)/2)*(d+(c-d)/2)<a)
    {
       
        
       d=d+(c-d)/2;
        
    }
    }
       double g=(d+(c-d)/2);
      if(e==0)
      {
        printf("%.1f\n",g);
      }
        else if(e==1)
        {
            cout<<'-';
            printf("%.1f\n",g); 
        }
    }
    return(0);
}
全部评论

相关推荐

2025-12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务