吉大考研真题-数字归一问题

这个题目也是数学问题,任何数经过操作都可以变为1。

操作:偶数的话除二,奇数的话乘上3再加1。

任意输入一个数,求经过操作的次数。

这里给出一个比较简单的代码。

#include 

using namespace std;
int main()
{
    int n, step = 0;
    cout << "in : ";
    cin >> n;
    while (n != 1)
    {
        if (n % 2 == 0)
            n = n / 2;        //偶数   则除2
        else
            n = 3 * n + 1;    //奇数   则乘3+1
        step++;               //一次   step++
    }
    cout <<"step : "<< step << endl;
    return 0;
}

 

你可能感兴趣的:(考研,吉林大学)