牛顿迭代法
在求解一个数的算数平方根的时候,往往不会像leetcode_69中的那样,只要求得到整数部分,一般会要求保留小数,所以采用牛顿法来解决保留小数的问题是很方便的。牛顿法的具体如下:
class Solution:
def mySqrt(self, x: int) -> int:
if x == 0:
return 0
C, x0 = float(x), float(x)
while True:
xi = 0.5 * (x0 + C / x0)
if abs(x0 - xi) < 1e-7:
break
x0 = xi
return x0