牛顿的方法在整数上工作得很好:
def isqrt(n): x = n y = (x + 1) // 2 while y < x: x = y y = (x + n // x) // 2 return x
这将返回的最大整数X为其中
X * X不超过
ñ。如果要检查结果是否恰好是平方根,只需执行乘法以检查
n是否为理想平方。

牛顿的方法在整数上工作得很好:
def isqrt(n): x = n y = (x + 1) // 2 while y < x: x = y y = (x + n // x) // 2 return x
这将返回的最大整数X为其中
X * X不超过
ñ。如果要检查结果是否恰好是平方根,只需执行乘法以检查
n是否为理想平方。