fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. long long potenza(int base, int ex)
  5. {
  6. long long r = 1;
  7. for (int i=0; i<ex; i++){
  8. r *=(long long)base;
  9. }
  10. return r;
  11. }
  12.  
  13. long long edo(long long n)
  14. {
  15. int exp = 0;
  16. long long m = n;
  17. while (n!=1){
  18. n /= 2;
  19. exp++;
  20. }
  21. long long log = potenza(2, exp);
  22. return 2*(m%log);
  23.  
  24. }
  25.  
  26. int main()
  27. {
  28. long long n;
  29. cin >> n;
  30. long long a;
  31. for (long long i=0; i<n; i++){
  32. cin >> a;
  33. cout << 1+edo(a) <<endl;
  34. }
  35. return 0;
  36. }
  37.  
Success #stdin #stdout 0.01s 5320KB
stdin
1
5
stdout
3