Cod sursa(job #381280)

Utilizator andrei.sfrentSfrent Andrei andrei.sfrent Data 9 ianuarie 2010 22:15:33
Problema Submultimi Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.54 kb
#include <stdio.h>
#define getBit(src, poz) ((1 << poz) & src)
inline int pow2(int exp) { int k, r = 1; for(k = 0; k < exp; k++) r *= 2; return r; }

void afisazaSub(FILE* fo, int k)
{
	int i;
	for(i = 0; i < 16; ++i) if(getBit(k, i)) fprintf(fo, "%d ", i + 1);
	fprintf(fo, "\n");
}

int main(void)
{
	int n;
	FILE* fi = fopen("submultimi.in", "r");
	FILE* fo = fopen("submultimi.out", "w");
	//fprintf(fo, "%d\n\n", getBit(3, 1));
	fscanf(fi, "%d", &n);
	int start = 1, end = pow2(n);
	for(; start < end; ++start) afisazaSub(fo, start);
	return 0;
}