Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int oneCount(int n)
  4. {
  5. int count = 0;
  6. long long t = 1;
  7. for(t = 1; t<=n; t*=2)
  8. {
  9. if((n&(t))!=0)
  10. {
  11. count++;
  12. }
  13.  
  14. }
  15. return count;
  16.  
  17.  
  18. }
  19. long long int next(int num)
  20. {
  21. long long res,t;
  22. for(t = 1; t<=num; t*=2)
  23. {
  24. if((num&(t))!=0)
  25. {
  26. res = num+t;
  27. break;
  28.  
  29. }
  30.  
  31. }
  32. int diff = oneCount(num)-oneCount(res);
  33. int i;
  34. for(i = 0; i<diff; i++)
  35. {
  36. res+=(1<<i);
  37.  
  38. }
  39. return res;
  40.  
  41.  
  42.  
  43. }
  44.  
  45. int main()
  46. {
  47. int tc, k, n;
  48. scanf("%d", &tc);
  49. for(k=1; k<=tc; k++)
  50. {
  51. scanf("%d", &n);
  52. printf("Case %d: %d\n", k, next(n));
  53. }
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement