角谷猜想求次数

链接:https://ac.nowcoder.com/acm/problem/22163
来源:牛客网
 

有一个数字魔法,给你一个正整数n,如果n为偶数,就将他变为n/2, 如果n为奇数,就将他变为乘3加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;
}

 

你可能感兴趣的:(C)