C++與演算法

解答 - 3n+1猜想

依照題意,對輸入的整數不斷模擬3n+1的過程,直到變成1停止。

#include<iostream>
using namespace std;

int main()
{
    int N;

    cin >> N;

    while( N != 1 )
    {
        cout << N << endl;

        if( N%2 == 0 )
        {
            N = N/2;
        }
        else
        {
            N = 3*N + 1;
        }
    }
    cout << 1 << endl;

    return 0;
}