A9822 | Two Buttons
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Vasya 发现了一个奇怪的设备。在设备的前面板上有:一个红色按钮、一个蓝色按钮和一个显示正整数的屏幕。
- 点击 **红色按钮**:屏幕上的数字乘以 $2$
- 点击 **蓝色按钮**:屏幕上的数字减去 $1$
如果任何时候数字不再是正数,设备就会损坏。屏幕可以显示任意大的数字。
初始时,屏幕上显示的是数字 $n$。Bob 想要在屏幕上得到数字 $m$。请问他最少需要点击多少次按钮才能达到这个结果?
- 点击 **红色按钮**:屏幕上的数字乘以 $2$
- 点击 **蓝色按钮**:屏幕上的数字减去 $1$
如果任何时候数字不再是正数,设备就会损坏。屏幕可以显示任意大的数字。
初始时,屏幕上显示的是数字 $n$。Bob 想要在屏幕上得到数字 $m$。请问他最少需要点击多少次按钮才能达到这个结果?
输入格式
输入仅一行,包含两个不同的整数 $n$ 和 $m$($1 \le n, m \le 10^4$),以空格分隔。
输出格式
输出一个整数——从数字 $n$ 得到数字 $m$ 所需的最少按钮点击次数。
输入输出样例
输入 #1
4 6
输出 #1
2
输入 #2
10 1
输出 #2
9
**样例 1:** 先按一次蓝色按钮($4 \to 3$),再按一次红色按钮($3 \to 6$),共 $2$ 次。
**样例 2:** 不需要使用加倍操作,只需连续按蓝色按钮 $9$ 次($10 \to 9 \to 8 \to \dots \to 1$)。
---
## 数据范围与说明
- $1 \le n, m \le 10^4$
- 保证 $n$ 和 $m$ 不同
- 数字必须始终为正数
**样例 2:** 不需要使用加倍操作,只需连续按蓝色按钮 $9$ 次($10 \to 9 \to 8 \to \dots \to 1$)。
---
## 数据范围与说明
- $1 \le n, m \le 10^4$
- 保证 $n$ 和 $m$ 不同
- 数字必须始终为正数
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted