#牛顿迭代法
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