角谷の推測は回数を求めます

579 ワード

リンク:https://ac.nowcoder.com/acm/problem/22163出典:牛客網
正の整数nを与え、nが偶数であればn/2、nが奇数であれば3に1を足すデジタル魔法があります.
このような演算を繰り返して、限られたステップを経て、必ず1を得ることができます.
牛はこの魔法を検証するために、1つの整数で数歩で1になることを決めた.
 
#include 
using namespace std;
int times(int n);

int main(){
    int n, m, t;
    cin >> n;
    t = 0;
    while(n!=1){
        n = times(n);
        t += 1;
    }
    cout << t << endl;
    return 0;
}

int times(int n){
        if(n%2==0)
            n = n/2;
        else
            n = n*3+1;
    return n;
}