在 Python 中猜测最近的平方根
pythonserver side programmingprogramming更新于 2025/12/26 10:52:17
假设我们有一个非负数 n,我们必须找到一个数字 r,使得 r * r = n,并且我们必须向下舍入到最接近的整数。我们必须在不使用内置平方根函数的情况下解决这个问题。
因此,如果输入是 1025,则输出将是 32。
为了解决这个问题,我们将遵循以下步骤 −
- 如果 n <= 1,则
- 返回 n
- start := 1, end := n
- while start <结束,执行
- mid := start + end/2
- 如果 mid * mid <= n,则
- start := mid + 1
- 否则,
- end := mid
- 返回 start - 1
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, n): if n <= 1: return n start, end = 1, n while start < end: mid = start + end >> 1 if mid * mid <= n: start = mid + 1 else: end = mid return start - 1 ob = Solution() print(ob.solve(1025))
输入
1025
输出
32
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

