1642: 3n + 1 问题

内存限制:64 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:11 通过:6

题目描述

     考虑以下算法来生成数字序列。以整数n开始。如果n是偶数,则除以2。如果n是奇数,则乘以3并加1。使用新值n重复此过程,当n=1时终止。
例如,对于n=22,将生成以下数字序列: 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。据推测(但尚未证明),
对于每一个整数n,该算法将在n=1时终止。尽管如此,该猜想对至少1000000内的所有整数都成立。
       对于输入n,n的周期长度是生成的数字的数量,直到并包括1。在上述示例中,22的循环长度为16。给定任意两个数字i和j,
 你的任务是计算 i 到 j(包含 i 和 j)之间的整数中,循环节长度的最大的值。

输入格式

输入将由一系列整数对i和j组成,每行一对整数。所有整数都将小于1000000且大于0。

输出格式

对于每对输入整数i和j,按原来的顺序输出 i 和 j,然后输出二者之间的整数中的最大循环节长度,这三个数字应该用一个空格隔开,所有三个数字都在一行,每行输入都有一行输出。

输入样例 复制

1 10

输出样例 复制

1 10 20

数据范围与提示

1到10的10个数中,长度最大的数字为9,分别是9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1