问题 V: 数链

问题 V: 数链

时间限制: 1 Sec  内存限制: 128 MB
提交: 26  解决: 17
[提交][状态][讨论版][命题人:]

题目描述

现在我们有这样一个数链问题如下: 1.输入一个正整数 n; 2.输出 n; 3.如果 n=1 则结束; 4.如果 n 是奇数则 n 变为 3n+1,否则 n 变为 n/2; 5.转入第 2 步。 例如输入的正整数 n=22,应该会输出如下的数链: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 我们推测:对于任意一个正整数,经过上述算法最终都会得到 1。 对于给定的正整数 n,我们把得到的数链中数的个数称为 n 的链长,例如 22 的链长是 16。 对于给定的任意一对正整数 a 和 b,求出 a 与 b 之间的最长链长,当然这 个最长的链长是由 a 和 b 之间的一个正整数产生的,包括 a 和 b。

输入

输入共一行,两个用空格隔开的正整数 a,b(a<b)。

输出

输入供一行,一个数,a 与 b 之间的最长链长。

样例输入

1 10 

样例输出

20

提示

9 的链长是 20。

[提交][状态]