/* * POJ_1207.cpp * * Created on: 2013年10月24日 * Author: Administrator */ #include#include using namespace std; int main() { int a, b; while (scanf("%d%d", &a, &b) != EOF) { int x,y; //注意 :前一个数可能会比后一个数大,在这里需要处理一下,但输出时原样输出 if(a > b){ x = b; y = a; }else{ x = a; y = b; } int n; int max = 0; for (n = x; n <= y; ++n) { int counter = 1; int m = n; while (m != 1) { counter++; if (m % 2 == 0) { m /= 2; } else { m = 3 * m + 1; } } if (counter > max) { max = counter; } } printf("%d %d %d\n",a,b,max); } return 0; }