本文最后更新于 572 天前,其中的信息可能已经有所发展或是发生改变。
题目描述
猜想:对于任意大于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;
}