📅  最后修改于: 2023-12-03 14:38:49.633000             🧑  作者: Mango
在数学中,2 的平方根是一个无理数,约等于 1.41421356。
在编程中,求 2 的平方根通常使用数值计算方法,例如牛顿迭代法或二分法等。
牛顿迭代法是一种数值计算法,用于求解方程的根。求解 2 的平方根可以转化为求解方程 f(x) = x^2 - 2 = 0 的根。
具体实现如下:
def sqrt2():
epsilon = 1e-10 # 精度要求
x = 1 # 初始值
while abs(x**2 - 2) > epsilon:
x = (x + 2/x)/2 # 根据牛顿迭代公式计算
return x
这个函数会不断迭代,直到满足设定的精度要求。最终返回的值即为 2 的平方根。
二分法也是一种数值计算法,用于求解方程的根。
具体实现如下:
def sqrt2():
low = 0 # 下限
high = 2 # 上限
epsilon = 1e-10 # 精度要求
while high - low > epsilon:
mid = (low + high) / 2 # 取中间值
if mid**2 > 2:
high = mid # 缩小上限
else:
low = mid # 缩小下限
return low # 返回下限,也就是最接近实际值的值
这个函数会不断缩小根所在的区间,直到满足设定的精度要求。最终返回的值即为 2 的平方根。