题目大意:题目很好理解。直接在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);
		}
	}

}