Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int n;
- int limit;
- void recur(int x){
- char str[n+1];for(int i=0;i<n;i++)str[i] = '0';str[n] = '\0';
- int tx = x;
- int si = n-1;
- while(tx != 0){
- str[si--] = tx%2 + '0';
- tx/=2;
- }
- // printf("Test x : %d, %s\n",x,str);
- // return;
- for(int i=n-1;i>=0;i--){
- if(str[i] == '0'){
- printf("%s ",str);
- str[i] = '1';
- printf("%s\n",str);
- str[i] = '0';
- }
- }
- if(x < limit-2){
- recur(x+1);
- }
- }
- int main()
- {
- scanf("%d",&n);
- limit = 1;
- for(int i=1;i<=n;i++){
- limit *= 2;
- }
- recur(0);
- return 0;
- }
Add Comment
Please, Sign In to add comment