计算 x sqrt{x} x 的方法
巴比伦算法:
- 猜测一个大于0近似值。
x
0
x_{0}
x0使用被开方数除以近似值。
x
x
0
frac{x}{x_{0}}
x0x计算前两步的数的平均值。
x
1
=
1
2
(
x
0
+
x
x
0
)
x_{1}=frac{1}{2}(x_{0}+frac{x}{x_{0}})
x1=21(x0+x0x)令该平均值为新的近似值,回到步骤2,循环计算。
下面的算法就是在使用了巴比伦算法进行迭代计算 x sqrt{x} x 。
def square_root(n):
root = n / 2
for k in range(20):
root = (1 / 2) * (root + (n / root))
return root
print(square_root(6))
巴比伦算法 针对开平方进行计算,牛顿迭代法 的面向更广的范围。
牛顿迭代公式: x n + 1 = x n − f ( x n ) f ′ ( x n ) x_{n+1}=x_{n}-frac{f(x_{n})}{fprime(x_{n})} xn+1=xn−f′(xn)f(xn)



