• Source
    1. #include<stdio.h>
    2. int main()
    3. {
    4. long long int a,b,c,d,i,j,count=0,q,temp;
    5. while(scanf("%lld %lld",&a,&b)==2)
    6. {
    7. if(a==0&&b==0)
    8. {
    9. break;
    10. }
    11. c=0;
    12. d=0;
    13. if(a>b)
    14. {
    15. temp=a;
    16. a=b;
    17. b=temp;
    18. }
    19. for(i=a; i<=b; i++)
    20. {
    21. j=i;
    22. for(q=1;; q++)
    23. {
    24. if(j==1)
    25. {
    26. //count++;
    27. break;
    28. }
    29. else if(j%2==0)
    30. {
    31. j=j/2;
    32. count++;
    33. }
    34. else if(j%2==1)
    35. {
    36. j=3*j+1;
    37. count++;
    38. }
    39. }
    40. if(c<count)
    41. {
    42. c=count;
    43. d=i;
    44. }
    45. count=0;
    46. }
    47. if((a==1&&b==2)||(b==1&&a==2))
    48. {
    49. printf("Between 1 and 2, 1 generates the longest sequence of 3 values.\n");
    50. }
    51. else if(a==1&&b==1)
    52. {
    53. printf("Between 1 and 1, 1 generates the longest sequence of 3 values.\n");
    54. }
    55. else
    56. {
    57. printf("Between %lld and %lld, %lld generates the longest sequence of %lld values.\n",a,b,d,c);
    58. }
    59. }
    60. return 0;
    61. }