#29. 数链/chain

数链/chain

数链/chain

题目描述

现在我们有这样一个数链问题如下:

  1. 输入一个正整数 nn
  2. 输出 nn
  3. 如果 n=1n=1 则结束
  4. 如果 nn 是奇数则 nn 变为 3n+13n+1,否则变为 n/2n/2
  5. 转入第 22

例如输入的正整数 n=22n=22,应该会输出如下的数链:

$22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1$

我们推测:对于任意一个正整数,经过上述算法最终都会得到 11

对于给定的正整数 nn,我们把得到的数链中数的个数称为 nn 的链长,例如 2222 的链长是 1616

对于给定的任意一对正整数 aabb,求出区间 [a,b][a,b] 中的最长链长。

输入格式

输入一行,两个用空格隔开的正整数 a,ba, b

输出格式

输入一个数,最长链长

样例

1 10
20

样例说明

99 的链长是 2020

数据范围

对于 3030%的数据: 1<a<b<10001<a<b<1000

对于 100100%的数据:1<a<b<1000001<a<b<100000