x=x−f(x)f′(x)
平方根
def newton_root(n):
x = n/2.
f = lambda x: x**2 - n
f_prime = lambda x: 2*x
while abs(f(x)) > 1e-4:
x -= f(x)/f_prime(x)
% x = (x+n/x)/2
return x
(平方不超过该数的)最大整数
def newton_int_sqrt(n):
x0 = n
x1 = (n+1)/2
while x1 < x0:
x0 = x1
x1 = (x0+n/x0)/2
return x0