Python 中的损坏计算器
pythonserver side programmingprogramming更新于 2025/11/11 18:20:17
假设我们有一个损坏的计算器,其显示屏上显示一个数字,我们只能执行两个操作 −
将 − 加倍,这会将显示屏上的数字乘以 2,或者;
减少 −这将使显示的数字减少 1,
最初,计算器显示数字 X。我们必须找到显示数字 Y 所需的最少操作数。
因此,如果输入为 X = 5 且 Y 为 8,则输出将为 2,因为减少一次,然后加倍
为了解决这个问题,我们将遵循以下步骤 −
res := 0
while Y > X
res := res + Y mod 2 + 1
当 Y 为偶数时,Y := Y / 2,否则 (Y + 1) / 2
返回 res + X - Y
示例(Python)
让我们看看以下实现以获得更好的理解 −
class Solution(object): def brokenCalc(self, X, Y): res = 0 while Y > X: res += Y % 2 + 1 Y = Y // 2 if Y % 2 == 0 else (Y + 1)//2 return res + X - Y ob = Solution() print(ob.brokenCalc(5,8))
输入
5 8
输出
2
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

