使用牛顿迭代法和二分法求解一个数的平方根(python语言实现)
#牛顿迭代法
def sqrt1(x):
y = 1.0
while abs(y * y - x) > 1e-6:
y = (y + x/y)/2
return y
#使用二分法
def sqrt2(x):
if x > 1:
a = 1.0
b = x
else:
a = x
b = 1.0
y = (a + x)/2
while abs(y * y - x) > 1e-6:
if y * y > x:
b = y
y = (y + a) /2
else:
a = y
y = (y + b) /2
return y

浙公网安备 33010602011771号