Cod sursa(job #1699906)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 8 mai 2016 20:22:38
Problema Submultimi Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream in("submultimi.in");
ofstream out("submultimi.out");
char T[20];
int n;
int poz;
inline void add(int x)
{
    if(x <= 9)
        T[poz++] = x + '0';
    else
    {
        T[poz++] = 1;
        T[poz++] = x % 10 + '0';
    }
    T[poz++] = ' ';
}
int main() {
    in >> n;
    for(int conf = 1 ; conf < (1 << n) ; ++ conf) {
        poz = 0;
        for(int i = 0 ; i < n;  ++ i) {
            /// testam daca conf are bitul i setat, in caz afirmativ, afisam (i + 1)
            if(conf & (1 << i))
                add(i + 1);
        }
        for(int i = 0; i < poz; i++)
            out << T[i];
        out << "\n";
    }
    return 0;
}