fork(1) download
  1. #include <iostream>
  2. #include <cstdint>
  3.  
  4. using namespace std;
  5.  
  6. int main(void) {
  7. uint32_t N;
  8. cin >> N;
  9.  
  10. uint32_t lar = 0;
  11. uint32_t shift = 0;
  12. uint32_t temp = N & ((1 << 30) - 1);
  13. for (int i = 1; i < 30; i++)
  14. {
  15. uint32_t index = (temp & 1);
  16. temp = ((temp >> 1) | (index << 29));
  17. if (temp > lar)
  18. {
  19. lar = temp;
  20. shift = i;
  21. }
  22. }
  23. cout << shift;
  24. }
  25.  
Success #stdin #stdout 0s 3144KB
stdin
536870912
stdout
1