SuitNdtie

Space PROG1163

Mar 31st, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. #include<stdio.h>
  2. int n;
  3. int limit;
  4. void recur(int x){
  5.     char str[n+1];for(int i=0;i<n;i++)str[i] = '0';str[n] = '\0';
  6.     int tx = x;
  7.     int si = n-1;
  8.     while(tx != 0){
  9.         str[si--] = tx%2 + '0';
  10.         tx/=2;
  11.     }
  12. //  printf("Test x : %d, %s\n",x,str);
  13. //  return;
  14.     for(int i=n-1;i>=0;i--){
  15.         if(str[i] == '0'){
  16.             printf("%s ",str);
  17.             str[i] = '1';
  18.             printf("%s\n",str);
  19.             str[i] = '0';
  20.         }
  21.     }
  22.     if(x < limit-2){
  23.         recur(x+1);
  24.     }
  25. }
  26.  
  27. int main()
  28. {
  29.     scanf("%d",&n);
  30.     limit = 1;
  31.     for(int i=1;i<=n;i++){
  32.         limit *= 2;
  33.     }
  34.     recur(0);
  35.     return 0;
  36. }
Add Comment
Please, Sign In to add comment