Cod sursa(job #714063)
#include <cstring>
#include <cstdio>
#include <cmath>
FILE * in = fopen("submultimi.in", "rt");
FILE * out = fopen("submultimi.out", "wt");
int size;
int values[16];
void recursion(int id) {
if (id) {
for (int i = 0; i < id; ++i) {
fprintf(out, "%d ", values[i] + 1);
}
fprintf(out, "\n");
if (id == size) {
return;
}
}
if (id) {
for (int i = values[id - 1] + 1; i < size; ++i) {
values[id] = i;
recursion(id + 1);
}
} else {
for (int i = 0; i < size; ++i) {
values[id] = i;
recursion(id + 1);
}
}
}
int main() {
fscanf(in, "%d", &size);
recursion(0);
fclose(in);
fclose(out);
}