跟着专注于计算机视觉的AndyJ的妈妈我学算法之每日一题不是leetcode题求平方根

题目:

求平方根。

这个题因该是不难的。直接二分法。
顺便,加上一个精度,误差控制在eps里。
code:

def selfsqrt(num, eps):
    if num > 1:
        l = 0
        r = num
    if num < 1:
        l = num
        r = 1
    mid = l + (r-l)/2
    while abs(mid**2 - num) > eps:
        if mid**2 > num:
            r = mid
        elif mid**2 < num:
            l = mid
        mid = l + (r-l)/2
    return mid


a = selfsqrt(9, 0.000001)
print(a)
print(a**2)

好了。

猜你喜欢

转载自blog.csdn.net/mianjiong2855/article/details/107346307
今日推荐