//file Prog001v1.cpp
//author AOU
#include <iostream>
using namespace std;
/*
input n1, n2
output the longest maxCycleLength
*/
/*
Algorithm1: to display all the numbers and count
get a value for n
display n
cycleLength = 1
do while n > 1
if n is even then
n = n/2
else
n = 3*n + 1
end if
display n
cycleLength++
end while
display cycleLength
*/
void main (void)
{
int n;
int cycleLength;
cin >> n;
cout << n << ' ';
cycleLength = 1;
while (n > 1)
{
if (n%2 == 0)
n = n/2;
else
n = 3*n + 1;
cout << n << ' ';
cycleLength++;
}
cout << endl;
cout << "cycleLength = " << cycleLength << endl;
}
/*
22
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
cycleLength = 16
Press any key to continue
*/
|