首页 > 技术文章 > 使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)

jiaxin359 2017-02-17 16:59 原文

#牛顿迭代法
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  

  

推荐阅读