Cod sursa(job #1018096)

Utilizator cristy202020Totolin Cristian cristy202020 Data 28 octombrie 2013 21:04:54
Problema Combinari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.83 kb
#include<stdio.h>

//FILE *f=fopen ("combinari.in","r");
//FILE *g=fopen ("combinari.out","w");

int factorial (int x)
{
	int y=1;
	while (x>=1)
	{
		y=y*x;
		x=x-1;
	}
	return y;
}

/*void afisare (int a[],int n)
{
	int i;
	for (i=1;i<=n;i++)
		fprintf (g,"%d ",a[i]);
	fprintf (g,"\n");
}*/

int main()
{
	int n,k,i,j,a[19],nr;
	FILE *f=fopen ("combinari.in","r");
	FILE *g=fopen ("combinari.out","w");

	fscanf (f,"%d",&n);
	fscanf (f,"%d",&k);


	nr=factorial(n)/(factorial(n-k)*factorial(k));
	for (i=1;i<=k;i++)
	{
	fprintf (g,"%d ",i);
	a[i]=i;
	}
	fprintf (g,"\n");

	for (j=1;j<=nr;j++)
	{
		i=k;
		while (i>=1)
		{
			if(a[i]<i+1)
			{
				a[i]=a[i]+1;
			
				for (i=1;i<=k;i++)
				fprintf (g,"%d ",a[i]);
				fprintf (g,"\n");
			i=-1;
			}
		i--;
		}
	}
	return 0;
}