#2881. 例2:奶牛的数字游戏

例2:奶牛的数字游戏

说明

游戏开始时,Bessie 有个正整数 N。此时她的分数为 0。 奶牛们按照以下规则对 N 进行变换: * 如果 N 是奇数,那么将它乘以 3 后再加 1。 * 如果 N 是偶数,那么将它除以 2。 数字每变换一次,Bessie 就得到 1 分。当 N=1 时,游戏结束。此时的分数就是她的最终得分。 例如,当 N=5 时,她的最终得分为 5。 你需要编写程序:输入一个整数 N,输出 Bessie 的最终得分。

输入格式

输入一个整数 N。

输出格式

输出一个整数,表示 Bessie 的最终得分。
5
5

提示

数据范围:对于 100% 的数据,N ≤ 10^6。 提示:计算过程中,N 可能会超出 int 范围(例如,若使用 C++ 语言,建议使用 long long 类型存储 N)。 这道题是著名的角谷猜想(或称 3n+1 猜想)的模拟。根据题意,使用 while 循环对变换过程进行模拟即可。

来源

一维数组例题