Python中损坏的计算器
假设我们有一个坏掉的计算器,显示屏上显示了一个数字,我们只能执行两个操作-
双倍-将显示屏上的数字乘以2,或;
递减-这会将显示的数字减少1,
最初,计算器显示的是数字X。我们必须找到显示数字Y所需的最少操作数。
因此,如果输入像X=5且Y为8,则输出将为2,减1,然后减一
为了解决这个问题,我们将遵循以下步骤-
res:=0
而Y>X
res:=res+Ymod2+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))输入值
5 8
输出结果
2
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短