求x的平方根(简单)
题目
实现int sqrt(int x)函数。
计算并返回x的平方根,其中x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入:4
输出:2
示例 2:
输入:8
输出:2
说明:8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
解题思路
要求实现python的sqrt函数,此题考的肯定也不是用x**0.5这种方法...
因此此题考的是牛顿迭代法来求根
这是一种迭代方法,通过不断迭代直至收敛即可得到答案
答案
class Solution(object):
def mySqrt(self, x):
"""
:type x: int
:rtype: int
"""
if x <= 1:
return x
r = x
while r > x / r:
r = (r + x / r) // 2
return r
网友评论