要计算一个数的平方根,我们可以使用以下几种方法:
- 开方运算:
python
import math
sqrt = math.sqrt(16) # 4.0
- 牛顿迭代法:
python
def sqrt(n):
x = n / 2 # 任意选择一个初值
while True:
y = (x + n/x) / 2
if abs(x - y) < 1e-6:
return y
x = y
- 二分查找:
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 (二分查找)
所以,求平方根的主要方法是:
- 开方运算:直接使用 math.sqrt() 函数。
- 牛顿迭代法:初值随意选取,通过不断逼近获得结果。
- 二分查找:在 1 到 n 之间二分查找,逐渐缩小区间获得结果。