fork download
  1. #include <bits/stdc++.h>
  2. #include <iostream>
  3. #include<stdio.h>
  4. #include<math.h>
  5. #include<string.h>
  6. using namespace std;
  7.  
  8.  
  9.  
  10. int main() {
  11. long long int t,n,i,j,k,l,flag,flag1,count,count1,count2,count3,count4,sum,max1,max2,c1,c2,temp,suma,sumb;
  12. // long long int d,c,a,b;
  13. long long int a[300001],b[1001][1001],a1[400001];
  14.  
  15. scanf("%lld",&t);
  16. for(l=0;l<t;l++)
  17. {
  18. vector< long long int> v1,v2,v;
  19. string s1,s2;
  20. map<long long int,long long int> m;
  21. set<long long int>s;
  22. // char s[300001],s1[300001];
  23. long long int f[400001],f1[105];
  24. for(i=0;i<400001;i++)
  25. f[i]=0;
  26. for(i=0;i<105;i++)
  27. f1[i]=0;
  28. count=0,flag=0,flag1=0,sum=0,max1=0,max2=0,c1=0,c2=0,temp=0,suma=0,sumb=0,count1=0,count2=0,count3=0,count4=0;
  29. long long int max3=0,max4=0,x,y,m1,max5=0;
  30. cin>>x;
  31. n=x;
  32. while(x!=0)
  33. {
  34. v.push_back(x%2);
  35. x=x/2;
  36. }
  37. reverse(v.begin(),v.end());
  38. for(i=0;i<v.size()/2;i++)
  39. {
  40. if(v[i]!=v[v.size()-1-i] && v[i]==1)
  41. {
  42. a[i]=1;
  43. a[v.size()-1-i]=1;
  44. }
  45. else if(v[i]!=v[v.size()-1-i] && v[i]==0)
  46. {
  47. a[i]=0;
  48. a[v.size()-1-i]=0;
  49. }
  50. else
  51. {
  52. a[i]=v[i];
  53. a[v.size()-1-i]=v[i];
  54. }
  55. }
  56. // for(i=0;i<v.size();i++)
  57. // cout<<a[i];
  58. long long int base=1,base1=1;
  59. for(i=v.size()-1;i>=0;i--)
  60. { if(a[i]==1)
  61. suma=suma+base;
  62. base=base*2;
  63. }
  64.  
  65. // cout<<n;
  66. cout<<abs(n-suma)<<endl;
  67. }
  68. return 0;
  69. }
Success #stdin #stdout 0.01s 5492KB
stdin
2
4
6
stdout
1
1