题目:求整数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进行判断。
题目:求整数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进行判断。