Pagini recente » Cod sursa (job #1373915) | Cod sursa (job #3237938) | Cod sursa (job #2150335) | Cod sursa (job #2907) | Cod sursa (job #2935299)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("submultimi.in");
ofstream fout("submultimi.out");
vector<int> v;
int n;
void bkt(int pas) {
if (pas == n) {
int ok = 0;
for (int i = 0; i < n; i++)
ok += v[i];
if (ok) {
for (int i = 0; i < n; i++)
if (v[i])
fout << i + 1 << ' ';
fout << '\n';
}
return;
}
v.push_back(0);
bkt(pas + 1);
v.pop_back();
v.push_back(1);
bkt(pas + 1);
v.pop_back();
}
void afis(int i) {
int pas = 1;
while (i) {
if (i & 1)
fout << pas << ' ';
i = i >> 1;
pas++;
}
fout << '\n';
}
int main() {
fin >> n;
for (int i = 1; i < (1 << n); i++)
afis(i);
return 0;
}