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 生日开业蛋糕祝福语简短