UVa Problem
#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char *argv[])
{
int t1, t2;
while(cin >> t1)
{
cin >> t2;
int start, end;
start = t1;
end = t2;
if(start > end)
swap(start, end);
int maxCycleLen = 1;
for(int num = start; num <= end; ++num)
{
int cycleLen = 1;
int currNum = num;
while(currNum != 1)
{
if(currNum%2 == 0)
currNum /= 2;
else
currNum = 3 * currNum + 1;
++cycleLen;
}
maxCycleLen = max(maxCycleLen, cycleLen);
}
cout << t1 << " " << t2 << " " << maxCycleLen << endl;
}
return 0;
}
No comments:
Post a Comment