5、实现开方函数,保留四位小数

2017-09-29  本文已影响0人  i7990X

无需数理知识的二分法。

def sqrt(x):
    if x<0:
        return None
    else:
        if x<1:
            low=0.0
            high=1.0
        else:
            low = 1.0
            high = x
        mid = (low + high) / 2
        last=low
        while abs(last-mid)>0.00001:
            if mid*mid<x:
                low=mid
            elif mid*mid>x:
                high=mid
            last=mid
            mid = (low + high) / 2
        return '%.4f' % mid
上一篇 下一篇

猜你喜欢

热点阅读