A9822. Two Buttons
编程题
普及/提高-
知识点
题目描述
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$ 不同
- 数字必须始终为正数