Advertisement
noshin98

uva-371

Jan 14th, 2017
400
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. #include <stdio.h>
  2.  long long int num1, num2,i, j, k, n ,count, res, tem, highest_value;
  3. int main()
  4. {
  5.  
  6.     while(scanf("%lld %lld", &num1, &num2)==2)
  7.     {
  8.         if(num1==0 || num2==0) break;
  9.  
  10.         if(num1>num2)
  11.         {
  12.             tem=num1;
  13.             num1=num2;
  14.             num2=tem;
  15.         }
  16.  
  17.         if(num1==1 && num2<=2)
  18.             printf("Between %lld and %lld, 1 generates the longest sequence of 3 values.\n", num1, num2);
  19.         else
  20.         {
  21.             count=0;
  22.             highest_value=0;
  23.             for(i=num1; i<=num2; i=i+1)
  24.             {
  25.                 n=i;
  26.                 for(j=0; n!=1; j++)
  27.                 {
  28.                     res=(n%2);
  29.                     switch(res)
  30.                     {
  31.                     case 1:
  32.                         n=((n<<2)+1)-n;
  33.                         break;
  34.                     case 0:
  35.                         n=n>>1;
  36.                         break;
  37.                     }
  38.                 }
  39.                 if(j>count)
  40.                 {
  41.                     count=j;
  42.                     highest_value=i;
  43.                 }
  44.             }
  45.             printf("Between %lld and %lld, %lld generates the longest sequence of %lld values.\n",num1, num2, highest_value, count);
  46.         }
  47.  
  48.     }
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement