用迭代法求 平方根公式:求a的平方根的迭代公式为: Xn+1=Xn+aXn2 要求前后两次求出的差的绝对值少于000001。 输出保留3位小数
以下是使用迭代法求平方根的代码实现:
def square_root(a):
x0 = a / 2 # 初始值可以设为a的一半
while True:
x1 = (x0 + a / x0) / 2
if abs(x1 - x0) < 0.00001:
break
x0 = x1
return round(x1, 3)
# 测试
print(square_root(2)) # 输出:1.414
print(square_root(4)) # 输出:2.0
print(square_root(9)) # 输出:3.0
print(square_root(16)) # 输出:4.0
上述代码定义了一个square_root函数,接受一个参数a,表示要求平方根的数。初始值x0可以设为a的一半。然后通过迭代公式X[n+1]=(X[n]+a/X[n])/2来求出下一个近似解x1。如果x1与x0的差的绝对值小于0.00001,则认为已经求得足够精确的平方根,结束迭代。最后返回结果时,使用round函数保留3位小数
原文地址: https://www.cveoy.top/t/topic/ihS2 著作权归作者所有。请勿转载和采集!