#HXOJ1840. 增长或翻倍(难度指数:****)

提交1 通过1
通过率100%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

给定正整数 s 和 t,保证 s≤t,我们希望利用增长或翻倍的操作,让 s 变成 t。

增长操作可以让数字加一,即x→x+1;

翻倍操作可以让数字翻倍,即x→2×x。

请问最少需要用多少步操作才能将 s 变成 t ?

输入格式

一行两个正整数,分别表示 sstt

输出格式

一行一个整数,表示最少操作步数。

输入样例 #1

1 4

输出样例 #1

2

样例说明 #1

依次执行 1241\to2\to4,共 2 步。

输入样例 #2

2 10

输出样例 #2

3

样例说明 #2

依次执行 245102\to4\to5\to10,共 3 步。

输入样例 #3

5 8

输出样例 #3

3

样例说明 #3

依次执行 56785\to6\to7\to8,共 3 步。

数据范围

对于 50% 的数据:1st1001\le s\le t\le 100

对于 100% 的数据:1st1091\le s\le t\le 10^9