如何求出一个数的平方根?

要计算一个数的平方根,我们可以使用以下几种方法:

  1. 开方运算:
python
import math

sqrt = math.sqrt(16)  # 4.0
  1. 牛顿迭代法:
python
def sqrt(n):
    x = n / 2     # 任意选择一个初值
    while True:
        y = (x + n/x) / 2
        if abs(x - y) < 1e-6:
            return y
        x = y
  1. 二分查找:
python 
def sqrt(n):
    left = 1
    right = n

    while left <= right:
        mid = (left + right) // 2
        if mid * mid > n: 
            right = mid - 1 
        elif mid * mid < n:
            left = mid + 1 
        else:
            return mid

示例:

python
print(sqrt(16))  # 4.0
print(sqrt(8))   # 2.8284271247461903 (牛顿迭代法)
print(sqrt(4))   # 2.0  (二分查找)

所以,求平方根的主要方法是:

  1. 开方运算:直接使用 math.sqrt() 函数。
  2. 牛顿迭代法:初值随意选取,通过不断逼近获得结果。
  3. 二分查找:在 1 到 n 之间二分查找,逐渐缩小区间获得结果。