0
已解决
宣雨楠
高级守护
高级守护
题目描述 Description
有一个著名的猜想,叫做角谷猜想,通俗地讲内容是这样的:任意给定一个正整数n,当n是偶数时,将它除以2,即将它变成n/2;当n是奇数时,就将它变成3n+1,……,若干步后,总会得到1。
我们要求经过几次变化,1这个数字是第一次出现。
输入描述 Input Description
输入一个正整数n
输出描述 Output Description
输出第一次出现1需要变化的次数
样例输入 Sample Input
6
样例输出 Sample Output
8
数据范围及提示 Data Size & Hint
数字的变化过程如下:
6–6÷2–3--3×3+1–10–10÷2–5--5×3+1–16–16÷2–8--8÷2–4--4÷2–2--2÷2–1
一共变化了8次。
#include<iostream>
using namespace std;
int cnt;
int main(){
int n;
cin>>n;
while(1){
if(n%2==0){
n/=2;
break;
}
else{
n+=1;
break;
}
cnt++;
}
cout<<cnt;
return 0;
}