Cod sursa(job #654561)

Utilizator matei_cChristescu Matei matei_c Data 30 decembrie 2011 17:33:00
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 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;
	}
	for(i=1;i<N;i++)
	{
		/*
		k=baza102(i);
		p=0;
		while(k)
		{
			p++;
			if(k%10==1)
				printf("%d ",p);
			k/=10;
		}
		*/
		for(k=1;k<=n;k++)
		{	
			p = (1<<(k-1));
			if( i & p )
				printf("%d ",k);
		}		
		if(i<N-1)
			printf("\n");
	}
	return 0;
}