📜  2 的平方根(1)

📅  最后修改于: 2023-12-03 14:38:49.633000             🧑  作者: Mango

2 的平方根

在数学中,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 的平方根。