Cod sursa(job #625184)

Utilizator florin_marius90Florin Marius Popescu florin_marius90 Data 23 octombrie 2011 23:03:16
Problema Submultimi Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
  
  int st[20] = {0};
  
  st[0] = 0;
  
  FILE * f = fopen("submultimi.in","r");
   int n;
   
   fscanf(f,"%i",&n);
   fclose(f);
   f = fopen("submultimi.out","w");
   int k = 1,i;
   st[1] =0;
   int as = 1, ev = 0;
   while (k > 0)
   {//printf("%i",k);
     do
     {
       st[k] ++;
       if (st[k] > n) as = 0; else as = 1; ev = 1;
       for (i = 1; i < k; i++)
       {
	 if (st[k] == st[i]) ev = 0;
	 if (st[i] > st[i+1]) ev = 0;
      }
       
    }while(!(!as || (as && ev)));
    
    if (as) 
    {
      if (k <= n)
      {
	for (i = 1; i <= k; i++)
	{
	  fprintf(f,"%i ",st[i]);
	}k++;st[k]=0;
	fprintf(f,"\n");
      }
      else
      {
	k = k + 1;
	st[k] = 0;
      }
    }
    
    else k = k -1;
}fclose(f);
   
   return 0;
}