题解 | #求解立方根#

求解立方根

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

根据定义,利用二分法来求解立方根。

while True:
    try:
        num = float(input().strip())# 获取输入
        res = 0
        # 判断输入,构造符号标签
        if num == 0:
            res = 0
        elif num > 0:
            sig = 1
        elif num < 0:
            sig = -1

        num = abs(num)# 对输入求绝对值
        if num > 1:# 如果数字大于1:开始=0 结束=输入
            start = 0
            end   = num
        elif num < 1:# 如果数字小于1:开始=输入,结束=1
            start  = num
            end    = 1

        mid = (start + end) / 2# 求中位值
        while abs(mid**3 - num) > 0.001:# 当中位值的三次方减去当前的值>0.001:
            if mid**3 > num:    # 如果中位值的三次方大于当前值:
                end = mid    # 将中位值赋值给结束
            if mid**3 < num:    #    否则:将开始值赋值给中值
                start = mid 
            mid = (start + end) / 2 # 求中位值
        res = sig*mid
        print(round(res,1))
        # 输出结果
    except:
        break
全部评论

相关推荐

湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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