本文最后更新于 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;
}