Pagini recente » Cod sursa (job #147794) | Cod sursa (job #1125851) | Diferente pentru problema/mesaje intre reviziile 13 si 2 | Cod sursa (job #2215036) | Cod sursa (job #1603180)
#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;
}