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

  

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-12
  • 2021-11-13
  • 2021-09-20
  • 2021-07-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2021-12-03
相关资源
相似解决方案