Pagini recente » Cod sursa (job #2836227) | Cod sursa (job #2534717) | Cod sursa (job #3227397) | Cod sursa (job #3137318) | Cod sursa (job #2176425)
#include <stdio.h>
#define SIZE 16
static int elem[SIZE+1];
static void subm(int n, int l)
{
int i;
if (l > 0) {
for (i = 1; i <= l; i++) {
printf("%d%c", elem[i], " \n"[i == l]);
}
}
for (i = elem[l] + 1; i <= n; i++) {
elem[l + 1] = i;
subm(n, l + 1);
}
}
static void subm_bit(int n)
{
int i, j;
for (i = 1; i < 1 << n; i++) {
for (j = 0; j < n; j++) {
if ((i >> j) & 1) {
printf("%d ", j + 1);
}
}
puts("");
}
}
static void subm_comb(int n, int k, int l)
{
int i;
if (l == k) {
for (i = 1; i <= k; i++) {
printf("%d%c", elem[i], " \n"[i == k]);
}
} else {
for (i = elem[l] + 1; i <= n; i++) {
elem[l + 1] = i;
subm_comb(n, k, l + 1);
}
}
}
int main(void)
{
int n, i;
freopen("submultimi.in", "r", stdin);
freopen("submultimi.out", "w", stdout);
scanf("%d", &n);
/*subm(n, 0);*/
/*subm_bit(n);*/
for (i = 1; i <= n; i++) {
subm_comb(n, i, 0);
}
return 0;
}