题解 | #求解立方根#好难想啊

求解立方根

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

n = float(input())

if n == 0:
    print(0.0)
elif n > 0:
    sig = 1
else:
    sig = -1

n = abs(n)
if n >= 1:
    start = 1
    end = n 
else:
    start = n
    end = 1
mid = (start + end) / 2
while abs(mid ** 3 - n) > 0.001:
    if mid ** 3 > n:
        end = mid
    else:
        start = mid
    mid = (start + end) / 2
print(round(sig * mid, 1))
全部评论
请问下,为什么要区分0<n<1和n>1
点赞 回复 分享
发布于 2022-07-19 15:38
因为 a**3 在 0-1 之间的话,我们要求的 a 就一定在 0-1 之间;a**3 > 1 的话,我们要求的 a 就一定在 1-a 之间。
点赞 回复 分享
发布于 2022-11-09 20:57 美国

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
6 3 评论
分享
牛客网
牛客企业服务