题目描述
给定一个非负整数,求它的开方,向下取整。
输入输出样例
输入一个整数,输出一个整数。
Input: 8
Output: 2
8 的开方结果是 2.82842...,向下取整即是 2。
代码实现
def mySqrt(x):
if x == 0:
return 0
if x < 4:
return 1
start , end = 2 , x//2
while True:
mid = start + (end-start)//2
if mid**2 <= x and (mid+1)**2 > x:
return mid
if mid**2 < x:
start = mid + 1
if mid**2 > x:
end = mid - 1
京公网安备 11010502036488号