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

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

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#使用二分法
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

  

posted @   小舔哥  阅读(4445)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示