水题,只是记得比较输入n, m的大小,还有就是n,m输出顺序不能变。。。
#include <iostream>
using namespace std;
int main ( ) {
int n, m, Max, ans, tmp, min1, min2;
while ( cin >> n >> m ) {
Max = -1;
min1 = n;
min2 = m;
if ( min1 > min2 ) {
int t = min1;
min1 = min2;
min2 = t;
}
for ( int i = min1; i <= min2; ++i ) {
tmp = i;
ans = 1;
while ( tmp > 1 ) {
if ( tmp % 2 == 1 ) tmp = 3 * tmp + 1;
else tmp = tmp / 2;
++ans;
}
if ( Max < ans ) Max = ans;
}
cout << n << " " << m << " " << Max << endl;
}
}