fork download
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. long long max_number(long long n1, long long n0)
  6. {
  7. long long number;
  8. for (int i=n0+n1-1;i>=n0;i--)
  9. {
  10. number+=pow(2,i);
  11. }
  12. return(number);
  13. }
  14.  
  15. long long min_number(long long n1, long long n0)
  16. {
  17. long long number;
  18. for (int i=n1-1;i>=0;i--)
  19. {
  20. number+=pow(2,i);
  21. }
  22. return(number);
  23. }
  24.  
  25. int main()
  26. {
  27. long long n;
  28. cin>>n;
  29. long long n1=0;
  30. long long n0=0;
  31. while (n>0)
  32. {
  33. if (n%2==1) n1++;
  34. else n0++;
  35. n/=2;
  36. }
  37.  
  38. cout<<max_number(n1,n0)-min_number (n1,n0);
  39. return 0;
  40. }
Success #stdin #stdout 0s 4392KB
stdin
40
stdout
45