一个求平方根的函数
问题描述:
实现 int(sqrt(int x))函数,计算并返回x的平方根。
问题示例:
Sqrt(3)=1;sqrt(4)=2;sqrt(5)=2;sqrt(10)=3。
解题思路:
1、通过折半查找的办法,查找输入数值n的开方根,若存在,则输出该平方根,若不存在,则返回左侧最近的一个根值。
代码如下:
class Solution4:
def sqrt(self,x):
l,r=0,x
while l + 1 < r:
m = int((r + l) / 2)
if m * m == x:
return m
if m * m < x:
l = m
if m * m > x:
r = m
if l * l == x:
return l
if r * r == x:
return r
return l
n=10
print("初始值:",n)
soluttion = Solution4()
print("结果:",soluttion.sqrt(n))