fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int n;
  5. scanf("%d",&n);
  6. for(int i=0;i<n;i++){
  7. int x,y;
  8. scanf("%d%d",&x,&y);
  9. int biggest,second;
  10. biggest=second=-1; //先假設都-1
  11. if(x>=biggest){ second=biggest; biggest=x;} //替換最大與第二大的數值
  12. else if(x<biggest&&x>=second) second=x;
  13. while(!(x==1||x>y)){
  14. x=(x%2==0)? (x/2):(3*x+1);
  15. if(x>=biggest){ second=biggest; biggest=x;}
  16. else if(x<biggest&&x>=second) second=x;
  17. }
  18. printf("%d\n",second);
  19. }
  20. return 0;
  21. }
  22.  
Success #stdin #stdout 0.01s 5292KB
stdin
1
16
10000000
stdout
8