Advertisement
Debashish_Saha

main secrert

Apr 9th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string d2b(int n)
  4. {
  5.     string s;
  6.     while(n)
  7.     {
  8.         s+=n%2+'0';
  9.         n/=2;
  10.     }
  11.     //reverse (s.begin(),s.end());
  12.     return s;
  13.  
  14. }
  15. int main(){
  16.     int tc,n;
  17.     scanf("%d",&tc);
  18.     for(int i=1; i<=tc; i++){
  19.         scanf("%d",&n);
  20.         string s;
  21.         s=d2b(n);
  22.         string ans=s;
  23.         reverse(ans.begin(),ans.end());
  24.  
  25.         cout<<ans<<endl;
  26.         int l=s.size();
  27.         int f=0,ct=0;
  28.  
  29.         if(s[0]=='0'){
  30.             for( int i=0; i<l; i++){
  31.                 ct++;
  32.                 f=3;
  33.                 if(s[i]=='1') break;
  34.             }
  35.             int a=0;
  36.         for(int i=l-ct; ; i++){
  37.                 a++;
  38.  
  39.             s[i]='0';
  40.             if(a==ct) break;
  41.  
  42.  
  43.         }
  44.        // s+='1';
  45.         }
  46.  
  47.         if(f==0)
  48.             for(int i=0; i<l; i++){
  49.                 if(s[i]=='0'){
  50.                     swap(s[i],s[i-1]);
  51.                     f=1;
  52.                     break;
  53.                 }
  54.  
  55.             }
  56.  
  57.         if(f==0){
  58.             s[l-1]='0';
  59.             s+='1';
  60.  
  61.         }
  62.         cout<<f<<endl;
  63.  
  64.         reverse(s.begin(),s.end());
  65.         cout<<s<<endl;
  66.  
  67.     }
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement