#include <iostream>
using namespace std;
int getLength(int value)
{
if(value == 1)
return 1;
return value & 0x01 ? 1 + getLength(3 * value + 1) : 1 + getLength(value >> 1);
}
int getLongest(int start, int last)
{
int maxlen = 0;
for(int i = start; i <= last; i++)
{
int tempLen = getLength(i);
maxlen = maxlen > tempLen ? maxlen : tempLen;
}
return maxlen;
}
int main()
{
int start, last;
int result;
while(cin >> start >> last)
{
result = getLongest(start, last);
cout << start << " " << last << " " << result << endl;
}
return 0;
}
3n+1问题
最新推荐文章于 2022-06-28 11:20:50 发布