document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include<iostream>
  2. using namespace std;
  3. /*
  4. 令f(x)為求0~x之間0的個數有多少,
  5. 即可將題目換化成[m,n]之間0的個數=f(n)-f(m-1)。
  6. */
  7.  
  8.  
  9. int f( int n )
  10. {
  11.     if( n == 1 )
  12.         return 1;
  13.     else if( n % 2 == 1)
  14.         return f( 3*n+1 )+1;
  15.     else
  16.         return f( n/2 )+1;    
  17. }
  18.  
  19. int main()
  20. {
  21.     int i, j;
  22.     while( cin >> i >> j )
  23.     {
  24.         int minNum = min( i, j );
  25.         int maxNum = max( i, j );
  26.         int answer = 0;
  27.         for( int n = minNum ; n <= maxNum ; n++ ){
  28.             answer = max( answer, f(n) );
  29.         }
  30.         cout << i << \' \' << j << \' \' << answer << endl;
  31.     }
  32.     return 0;
  33. }
');