Cod sursa(job #1577736)

Utilizator raikadoCri Lu raikado Data 23 ianuarie 2016 19:24:16
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>

void printVector(int *x, int size)
{
	int i;
	for (i = 0; i < size; ++i)
	{
		printf("%d ", x[i]);
	}
	printf("\n");
}

void nck_aux(char n, int k, int start, int index, int* x)
{
	int i = start;
	if(index == k-1)
	{
		while(i <= n)
		{
			x[index] = i;
			printVector(x, k);
			++i;
		}
		return;
	} else
	{
		while (i <= n-k+1 + index)
		{
			x[index] = i;
			nck_aux(n, k, i+1, index+1, x);
			++i;
		}
	}
}

void nck(int n, int k)
{
	int* x = malloc(k*sizeof(int));
	nck_aux(n, k, 1, 0, x);
	free(x);

}

int main()
{
	freopen("combinari.in", "rt", stdin);
	freopen("combinari.out", "wt", stdout);
	int n,k;
	scanf("%d%d", &n, &k);
	nck(n, k);

	return 0;
}