Cod sursa(job #1603180)

Utilizator robert.stefanRobert Stefan robert.stefan Data 17 februarie 2016 11:45:25
Problema Submultimi Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#include <stdlib.h>

#define IN "submultimi.in"
#define OUT "submultimi.out"

inline void printBits (unsigned k, unsigned n){
    unsigned mask = 1, i;

    for (i = 1; i <= n; ++ i){
        if ((mask & k) == mask)
            printf ("%u ", i);
        mask = mask << 1;
    }

    printf ("\n");
}

void subsets (unsigned n){
    unsigned i, lim;

    lim = 1 << n;

    for (i = 1; i < lim; ++ i)
        printBits (i, n);

}

int main(void){
    freopen (IN, "r", stdin);
    freopen (OUT, "w", stdout);

    unsigned n;
    scanf ("%u", &n);

    subsets (n);

    fclose (stdin);
    fclose (stdout);
    return 0;
}