3020. 数字猜想问题

单点时限: 2.0 sec

内存限制: 256 MB

数学中,有一个很有意思的猜想:取一个自然数,如果它是偶数,我们就把它除以 $2$,如果它是奇数,我们就把它乘 $3$ 再加上 $1$。在这样一个变换下,我们就得到了一个新的自然数。如果反复使用这个变换,我们就会得到一串自然数。

比如说我们先取 $5$,首先我们得到 $3\times 5+1=16$,然后是 $16\div 2=8$,接下去是 $4$,$2$ 和 $1$,由 $1$ 我们又得到 $4$,于是我们就陷在 $4\rightarrow 2 \rightarrow 1 $这个循环中了。

再举个例子,最开始的数取 $7$,我们得到下面的序列:

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

这次复杂了一点,但是我们最终还是陷在 $4\rightarrow 2 \rightarrow 1 $这个循环中。

为了形象描述,将这个一直变换到 $1$ 的过程称为航程(即从初始值到 $1$ 之前的自然数的个数,包括初始值,不包括 $1$),初始值即为航班,在每次航班中都有一个最大飞行高度(即最大的数),在上例中,航班 $5$ 的最大飞行高度为 $16$,航程为 $5$。航班 $7$ 的最大飞行高度为 $52$,航程为 $16$。

输入格式

第 $1$ 行:一个整数 $T$ ($1 \le T \le 10$) 为问题数。

接下来共 $T$ 行,每行一个整数,表示 $n$ ($1\lt n \lt 1000$)为航班数。

输出格式

对于每个问题,输出一行问题的编号($0$ 开始编号,格式:case #0: 等)

然后对应每个问题在一行中输出航班的最大飞行高度和航程。两个数据之间有一个空格。

样例

Input
3
5
7
27
Output
case #0:
16 5
case #1:
52 16
case #2:
9232 111

487 人解决,524 人已尝试。

592 份提交通过,共有 1222 份提交。

1.1 EMB 奖励。

创建: 11 年,7 月前.

修改: 6 年,3 月前.

最后提交: 2 月,1 周前.

来源: 2014年编程实践课程师范班第一次上机考试

题目标签