题目大意:题目很好理解。直接在OJ上看就行。
代码如下:
/*
* 1032_2.cpp
*
* Created on: 2013年8月11日
* Author: Administrator
*/
#include <stdio.h>
int func(int n){
int num = 1;
while( n != 1){
num++;
if(n%2 != 0){
n = 3*n +1;
}else{
n = n/2;
}
}
return num;
}
void swap( int& a , int& b){
int temp;
if(a > b){
temp = a;
a = b;
b = temp;
}
}
int main(){
int i,a , b;
while(scanf("%d%d",&a,&b)!=EOF){
bool flag = false;
if(a>b){
swap(a,b);
flag = true;
}
int max = 0;
for( i = a ; i <= b ; ++i){
if(func(i) > max){
max = func(i);
}
}
if(flag){
printf("%d %d %d\n",b,a,max);
}else{
printf("%d %d %d\n",a,b,max);
}
}
}