题目描述:
奶牛们在玩一种数字游戏,Bessie 想让你帮她预测一下结果。游戏开始时,Bessie 将得到一个正整数 �N。此时她的分数为 00。
奶牛们按照以下规则对 �N 进行变换:
如果 �N 是奇数,那么将它乘以 33 后再加 11。
如果 �N 是偶数,那么将它除以 22。
数字每变换一次,Bessie 就得到 11 分。当 �=1N=1 时,游戏结束。此时的分数就是她的最终得分。
输入格式
一行,一个整数 �N。
输出格式
一行,一个整数,为 Bessie 的最终得分。
输入输出样例
输入 #1复制
5
输出 #1复制
5
说明/提示
【数据范围】
对于 100%100% 的数据,1≤�≤1061≤N≤106。
【样例说明】
当 �N 的初始值为 55 时,游戏的过程如下:
�N | 变换后的数字 | 变换过程 | 总分 |
55 | 1616 | 3×5+13×5+1 | 11 |
1616 | 88 | 16÷216÷2 | 22 |
88 | 44 | 8÷28÷2 | 33 |
44 | 22 | 4÷24÷2 | 44 |
22 | 11 | 2÷22÷2 | 55 |
Bessie 的最终得分为 55。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,s=0;
cin>>n;
while(n!=1){
if(n&1) n=n*3+1;
else n/=2;
++s;
}
cout<<s;
return 0;
}