使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)

#牛顿迭代法
def sqrt1(x):
    y = 1.0
    while abs(y * y - x) > 1e-6:
        y = (y + x/y)/2
    return y

  

#使用二分法
def sqrt2(x):
    if x > 1:
        a = 1.0
        b = x
    else:
        a = x
        b = 1.0
    y = (a + x)/2
    while abs(y * y - x) > 1e-6:
        if y * y > x:
            b = y
            y = (y + a) /2
        else:
            a = y
            y = (y + b) /2
    return y  

  

原文地址:https://www.cnblogs.com/jiaxin359/p/6410667.html