Python数据结构与算法(一)
1、牛顿迭代法计算平方根
利用牛顿迭代法计算平方根可以快速求出一个比较精确的值
# 牛顿迭代法求平方根
count=0
# y起始值,x待求平方根
def sqrt(x,y=1):
if x<0 or y<=0:
return "负数无平方根"
global count
while abs(y*y-x)>10**(-12):
count += 1
print("第{0}次:y={1}".format(count,y))
y=(y+x/y)/2
return y
print("{0}的平方根为{1}".format(999,sqrt(999)))
返回值:
第1次:y=1
第2次:y=500.0
第3次:y=250.999
第4次:y=127.48954776911462
第5次:y=67.66274213168452
第6次:y=41.21357261818075
第7次:y=32.72658006314248
第8次:y=31.626113065211403
第9次:y=31.60696705743235
第10次:y=31.606961258558748
999的平方根为31.606961258558215