3n+1

422 词

题目描述

猜想:对于任意大于1的自然数 n,如果 n为奇数,则 n=3n+1n=3n+1,否则 n=n/2,则经过若干步骤后 n一定会变成 1;
如: 3−>10−>5−>16−>8−>4−>2−>1
共 7步,
输入 n,
输出变换次数

输入

多组输入,每行有一个 n,  1≤n≤109

输出

变换次数

#include<bits/stdc++.h>
using namespace std;
int main() {
int n2;
while(cin>>n2) {
long long n=n2; //避免了对long long 的输入输出
int t=0;
while(n!=1) {
if(n%2==1)
n=3*n+1;
else
n=n/2;
t++;
}
cout<<t<<endl;
}
return 0;
}