对于给定的正整数x与允许误差e,令变量y取任意正实数值,如另y=x;
- 如果yy与x足够接近,即|yy-x|<e,计算结束并把y作为结果;
- 否则,取z=(y+x/y)/2;
- 将z作为y的新值,回到步骤1
# 首先,编写代码是比较容易实现的
def get_sqrt(x,e=10**(-6)):
y=x
while abs(y*y-x)>e:
z=(y+x/y)/2.0
y=z
return y
print(get_sqrt(4))
print(get_sqrt(5))
问题咨询请扫码: