题解 | #求解立方根#

求解立方根

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

逐位探索,直到最接近求解值。

while True:
    try:
        Num = float(input())
        if Num<0:
            N_flag = -1
            Num = (-1)*Num
        elif Num == 0:
            result = 0
        else:
            N_flag = 1
        i = 1
        while(i**3<=Num):
            i+=1
        j=0
        while((i-1)+j*0.1)**3 <= Num:
            j+=1
        k=0  #为了对小数点后第二位进行四舍五入,需要计算到第二位。
        while((i-1)+(j-1)*0.1+k*0.01)**3 <= Num:
            k+=1
        if k>=5:  #四舍五入
            result =(i-1 + (j)*0.1) * N_flag  #注意处理负数
        else:
            result =(i-1 + (j-1)*0.1) * N_flag
        #print(result)
        print(round(result,1))  ##最坑莫过于此,要取round
    except:
        break

全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
少年郎as:这不把公司名贴出来那我可要喷你了哦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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