题目描述
70年代中期,美国各所名牌大学校园内,人们都像发疯一般,夜以继日,废寝忘食地玩弄一种数学游戏。这个游戏十分简单:任意写出一个自然数N,并且按照以下的规律进行变换:
如果是个奇数,则下一步变成3N+1。
如果是个偶数,则下一步变成N/2。
不单单是学生,甚至连教师、研究员、教授与学究都纷纷加入。为什么这种游戏的魅力经久不衰?因为人们发现,无论N是怎样一个数字,最终都无法逃脱回到谷底1。准确地说,是无法逃出落入底部的4-2-1循环,永远也逃不出这样的宿命。
这就是著名的“冰雹猜想”。
现在给定数a,求将a进行几次操作后第一次出现1。(CCF入门P142)
输入示例1
6
输出示例1
9
题解
#include <cstdio>
using namespace std;
int main() {
int n, count = 1;
scanf("%d", &n);
do {
if(n % 2 == 0) n /= 2; else n = 3 * n + 1;
count++;
} while(n != 1);
printf("%d", count);
return 0;
}