69-求一个整数的平方根

题目:求整数n的平方根

def mySqrt(n,f):
    if n <0:
        return None
    if n == 0 or n == 1:
        return n
    l,r = 0,n
    while abs(r-l)>f:
        mid = (l+r)/2
        if mid<n/mid:
            l = mid
        else:
            r = mid
    return l

注:

方法加了改进,参数增加了精确度。本题还有个小技巧,为了防止可能输入的整数过大的问题,在判读mid*mid与n的大小时,使用mid与n/mid进行判断。

posted @ 2019-08-19 21:20  尘世中一个迷途小书童  阅读(126)  评论(0编辑  收藏  举报