Python 中的 Sqrt(x)
pythonserver side programmingprogramming更新于 2025/10/31 19:56:17
假设我们有一个数字 x,并且 x 是一个非负数。我们必须在不使用任何库函数的情况下找到 x 的平方根。因此,我们必须创建自己的函数来评估 sqrt(x)。在此函数中,输出的小数位将被截断。
假设 x 的值为 4,则结果将为 2;如果 x 为 8,则结果也将为 2,因为 sqrt(8) 为 2.82842。但我们只取整数部分。
要解决这个问题,请按照以下步骤 −
- 初始化 l = 1,h = x + 1,answer = 0
- 当 h > l,do
- mid = (h + l)/2
- 如果 mid*mid <= x,则 l := mid + 1,answer = mid
- 否则 h = mid
- 返回 answer
让我们看看实现以便更好地理解
示例 (Python)
class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ low = 1 high = x+1 ans = 0 while high>low: mid = (high+low)//2 print(low,mid,high) if mid*mid<=x: low = mid+1 ans = mid else: high = mid return ans ob1 = Solution() print(ob1.mySqrt(4)) print(ob1.mySqrt(16)) print(ob1.mySqrt(7)) print(ob1.mySqrt(15))
输入
print(ob1.mySqrt(4)) print(ob1.mySqrt(16)) print(ob1.mySqrt(7)) print(ob1.mySqrt(15))
输出
2 4 2 3
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

