还以为要递归推一推的
结果暴力就过了
要注意 i,j 大小
1 #include <iostream> 2 using namespace std; 3 int a,b; 4 long long cnt,n,ans; 5 int main() 6 { 7 while(~scanf("%d%d",&a,&b)) 8 { 9 ans=0; 10 int p=a,q=b; 11 if(p>q) swap(p,q); 12 for(int i=p;i<=q;i++) 13 { 14 cnt=0; 15 n=i; 16 while(1) 17 { 18 cnt++; 19 if(n==1) break; 20 if(n%2) n=3*n+1; 21 else n/=2; 22 } 23 if(cnt>ans) ans=cnt; 24 } 25 printf("%d %d %ld ",a,b,ans); 26 } 27 } 28 //dp[i]=dp[3*i+1]+1; 29 //dp[i]=dp[i/2]+1;