题解 | #求解立方根#

求解立方根

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

from operator import le
n = float(input())
if n<0:
    flag = -1
elif n>0:
    flag = 1
else:
    flag = 0

if flag == 0:
    print(0.0)
else:
    n = abs(n)  #abs=absolute(),取绝对值
    # 用二分法处理
    if n>=1:
        left = 1
        right = n
    else:
        left = n
        right = 1
    mid = (left + right)/2

    while abs(mid**3-n) >0.001:
        if mid**3>n:
            right = mid
        else:
            left = mid
        mid = (right + left)/2
    print(round(mid*flag,1))

全部评论

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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