fork(1) download
  1. #include <stdio.h>
  2.  
  3. int get_cycle_len(int n)
  4. {
  5. int count = 1;
  6. while(n != 1) {
  7. if(n % 2 == 0) n = n/2;
  8. else n = 3*n+1;
  9. count++;
  10. }
  11.  
  12. return count;
  13. }
  14.  
  15. int main(void)
  16. {
  17. int i, lo, hi;
  18. int max, cur;
  19.  
  20. while(scanf("%d%d", &lo, &hi) == 2) {
  21. max = cur = -1;
  22. if(lo > hi) {
  23. i = lo;
  24. lo = hi;
  25. hi = i;
  26. }
  27. for(i = lo; i <= hi; i++) {
  28. if((cur = get_cycle_len(i)) > max) {
  29. max = cur;
  30. }
  31. }
  32.  
  33. printf("%d %d %d\n", lo, hi, max);
  34. }
  35. }
Success #stdin #stdout 0s 2252KB
stdin
1 10
100 200
201 210
900 1000
stdout
1 10 20
100 200 125
201 210 89
900 1000 174