Cod sursa(job #501891)

Utilizator matei_cChristescu Matei matei_c Data 16 noiembrie 2010 22:45:41
Problema Submultimi Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
int baza102(int x)
{
	int v[1001],t=0,nr=0,i;
	while(x)
	{
		v[++t]=x%2;
		x/=2;
	}	
	for(i=t;i>=1;i--)
	{
		nr=nr*10+v[i];
	}	
	return nr;
}

int n;
int main()
{
	int i,k,p;
	freopen("submultimi.in","r",stdin);
	freopen("submultimi.out","w",stdout);
	scanf("%d",&n);
	const int N = (1<<n);
	if(n==1)
	{
		printf("1\n");
		return 0;
	}
	k=baza102(0);
	for(i=1;i<N;i++)
	{
		k=baza102(i);
		p=0;
		while(k)
		{
			p++;
			if(k%10==1)
				printf("%d ",p);
			k/=10;
		}	
		if(i<N-1)
			printf("\n");
	}
	return 0;
}