# # # @param x int整型 # @return int整型 # class Solution: def sqrt(self , x ): if x <= 0: return 0 r = 1 while True: b = r r = (r + x/r) / 2 if (abs(r-b)<1e-6): break return r # write code here
实现函数 int sqrt(int x).
计算并返回x的平方根(向下取整)
此题是一个简单的数学问题
解决方法我在本题用的是公式而不是二分法,公式为牛顿迭代法:
截图来自牛客网解析
我们迭代挺知道判别是Xn与Xn+1的差值的绝对值为1e-6