Cod sursa(job #586350)

Utilizator maritimCristian Lambru maritim Data 30 aprilie 2011 16:36:35
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>

long int Doi[21] = {0,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144};
int A[17];
int N;
int a = 1;
int c;

int main()
{
	FILE *f = fopen("submultimi.in","r");
	FILE *g = fopen("submultimi.out","w");
	
	fscanf(f,"%d",&N);
	for(int j=1;j<=Doi[N]-1;j++)
	{
		a = 1;
		for(int i=N;a;i--)
		{
			c = (A[i]+a)/2;
			A[i] = (A[i] + a)%2;
			a = c;
		}
		for(int i=1;i<=N;i++)
			if(A[i])
				fprintf(g,"%d ",i);
		fprintf(g,"\n");
	}
	
	fclose(g);
	fclose(f);
}