Cod sursa(job #413368)
| Utilizator | Data | 8 martie 2010 13:22:40 | |
|---|---|---|---|
| Problema | Submultimi | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
int main()
{
FILE *f=fopen("submultimi.in","r"), *g=fopen("submultimi.out","w");
int i,j,n, v[20]={0},valid;
fscanf(f,"%d",&n);
v[n-1]=1;
do{
valid=0;
for(i=0;i<n;i++)
{ if(v[i]==1) fprintf(g,"%d ",i+1);
else valid=1;
}
fprintf(g,"\n");
v[n-1]++;
for(i=n-1;i>0;i--)
if(v[i]>1){ v[i-1]+=v[i]/2; v[i]%=2; }
}while(valid==1);
return 0;
}
