列表

详情


NC236624. 减法和除法

描述

鸡尾酒的学生丹丹分不清除法和减法,因为他觉得两种运算都是将一个数字变小,所以都差不多。

为了让丹丹能够更好地理解除法和减法,鸡尾酒给了他这样一个问题:

给定一个正整数 n,每次有两种操作:

1. 使得这个数字除以 2(由于丹丹没学过小数和分数,所以这里是除法是整除,向下取整)
2. 将这个数字减去一个给定值 x

问最少几次操作可以将这个数字变成一个小于等于零的数字。

由于丹丹从未接触过负数,所以根本不知道小于等于零的数字是什么,你可以帮帮他吗?

输入描述

给定两个正整数 

输出描述

输出一行一个整数表示答案。

示例1

输入:

30 5

输出:

4

说明:

先进行一次操作 1,得到 15,再进行三次操作 2(即减去 5),此时得到 0。或者先进行两次操作 1,得到 7,再进行两次操作 2,得到 -2。这两种方案都是 4 次操作。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3 解法, 执行用时: 41ms, 内存消耗: 4544K, 提交时间: 2023-08-13 15:31:36

n,x=map(int,input().split())
a=0
while n>0:
    n=min(n//2,n-x)
    a+=1
print(a)

上一题