角谷猜想求次数

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

有一个数字魔法,给你一个正整数n,如果n为偶数,就将他变为n/2, 如果n为奇数,就将他变为乘3加1

不断重复这样的运算,经过有限步之后,一定可以得到1

牛牛为了验证这个魔法,决定用一个整数来计算几步能变成1

#include <iostream>
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;
}
发布了69 篇原创文章 · 获赞 28 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_24852439/article/details/90115472
今日推荐