HW.求解立方根

HW.求解立方根_第1张图片

# 二分法原理,注意符号即可
number  = float(input().strip())
flag = 1 if number >= 0 else -1
number = abs(number)
low, high = 0, max(1, number)
result = None
while(True):
    mid = (low + high) /2
    #当备选值和原有的值相差千分位时即可停止
    if abs(mid - low) < 0.001:
        result = mid
        break
    aim = mid**3
    if aim == number:
        result = mid
        break
    elif aim > number:
        high = mid
    else:
        low = mid
print(round(result*flag,1))

你可能感兴趣的:(LeetCode)