Python中损坏的计算器
假设我们有一个坏掉的计算器,显示屏上显示了一个数字,我们只能执行两个操作-
双倍-将显示屏上的数字乘以2,或;
递减-这会将显示的数字减少1,
最初,计算器显示的是数字X。我们必须找到显示数字Y所需的最少操作数。
因此,如果输入像X = 5且Y为8,则输出将为2,减1,然后减一
为了解决这个问题,我们将遵循以下步骤-
res:= 0
而Y> X
res:= res + Y mod 2 +1
Y:= Y / 2,当Y为偶数时,否则(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))
输入值
58
输出结果
2
以上是 Python中损坏的计算器 的全部内容, 来源链接: utcz.com/z/326899.html