Pagini recente » Cod sursa (job #1317687) | Cod sursa (job #2732601) | Cod sursa (job #2129711) | Cod sursa (job #480550) | Cod sursa (job #2604867)
#include <stdio.h>
#include <stdlib.h>
int n, k;
int vect[19];
int nextElem(int x) {
if(vect[x] < n) {
vect[x]++;
return 1;
} else
return 0;
}
int valid(int x) {
for(int i = 0; i < x; i++)
if(vect[i] >= vect[x])
return 0;
return 1;
}
void combinari(int x, FILE* out) {
if(x == k) {
for(int i = 0; i < k; i++)
fprintf(out, "%d ", vect[i]);
fprintf(out, "\n");
} else {
vect[x] = 0;
while(nextElem(x)) {
if(valid(x))
combinari(x + 1, out);
}
}
}
int main() {
FILE* in = fopen("combinari.in", "r");
FILE* out = fopen("combinari.out", "w");
fscanf(in, "%d %d", &n, &k);
int* array = (int*)malloc(sizeof(int) * k);
combinari(0, out);
return 0;
}