测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9822. Two Buttons

编程题 普及/提高-

题目描述

Vasya 发现了一个奇怪的设备。在设备的前面板上有:一个红色按钮、一个蓝色按钮和一个显示正整数的屏幕。

- 点击 **红色按钮**:屏幕上的数字乘以 $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$ 不同
- 数字必须始终为正数
上一题 去做题 下一题