这道题比较简单,主要就是遍历,依次找。
只是m,n大小顺序未知,需要判断一下。
#include<iostream>
using namespace std;
int main(){
int m,n;
while(cin>>m>>n){
int max=0;
for(int i=(m<n?m:n);i<=(m<n?n:m);i++){
int step=1;
int t=i;
while(t!=1){
if(t%2==1){
t=t+(t+1)/2;
step+=2;
}else{
t=(t>>1);
step++;
}
}
if(max<step)
max=step;
}
cout<<m<<" "<<n<<" "<<max<<endl;
}
return 0;
}