Pagini recente » Cod sursa (job #1064217) | Cod sursa (job #3238294) | Cod sursa (job #436688) | Cod sursa (job #1418706) | Cod sursa (job #1577736)
#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;
}