注意要交换顺序
处理的时候交换了顺序,输出的时候还是要保持原来的顺序
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<cstring>
using namespace std;
int main() {
//freopen("in.txt","r",stdin);
int n, m,sum,tmp;
while(scanf("%d%d", &n, &m) != EOF) {
bool flag = 1;
if(n>m) {
flag = 0;
int tmp = n;
n = m;
m = tmp;
}
sum = 0;
for(int i = n; i <= m; i++) {
tmp = 0;
int j = i;
while(j != 1) {
tmp++;
if(j%2 == 1) j = 3*j + 1;
else j /= 2;
}
if(tmp > sum) sum = tmp;
}
if(flag)printf("%d %d %d\n",n,m,sum+1);
else printf("%d %d %d\n",m,n,sum+1);
}
return 0;
}