document.write('
正数n的平方根可以通过计算一系列近似值来获得,每个近似值都比前一个更加接近准确值,直到找出满足精度要求的那个数位置。具体而言,可以找出第一个近似值是1,接下来的近似值则可以通过下面的公式来获得:ai+1=(ai+n/ai)/2。实现代码如下:
#获取n的平方根, e为精度要求
def squareRoot(n,e):
new_one=n
last_one=1.0 #第一个近似值为1
while new_one-last_one>e:#直到满足精度要求为止
new_one=(new_one+last_one)/2# 求下一个近似值
last_one=n/new_one
return new_one
if __name__=="__main__":
n=50
e=0.000001
print str(n)+"的平方根为"+str(squareRoot(n,e))
n=4
print str(n)+"的平方根为"+str(squareRoot(n,e))
程序的运行结果为:
50的平方根为7.071068
4的平方根为2.000000
');