这题和hdu 1032一样,令人郁闷的是在hdu ac的代码拿到nyoj就TLE了,然后果断加上打表,就过了。
附ac代码:
#include <stdio.h>
#define MAX 10001
int a[MAX];
int len( int n ){
int i = 1;
while( n != 1 ){
if( n & 1 )
n = 3 * n + 1;
else
n >>= 1;
++i;
}
return i;
}
void CountA(){
for(int i = 1; i != MAX; ++i)
a[i] = len(i);
}
int main(){
CountA();
int i, j, maxlen, ii, jj;
while( scanf( "%d%d", &i, &j ) == 2 ){
i < j ? ( ii = i, jj = j ) : ( ii = j, jj = i );
maxlen = 0;
while( ii <= jj ){
int t = a[ii++];
if( t > maxlen )
maxlen = t;
}
printf( "%d %d %d\n", i, j, maxlen );
}
return 0;
}