Cod sursa(job #1700139)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 9 mai 2016 17:41:14
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <cstdio>
#include <string>
using namespace std;
string s;
inline void add(int x)
{
    if(x <= 9)
        s += (char)(x + '0');
    else
    {
        s += "1";
        s += (char)(x % 10 + '0');
    }
    s += " ";
}
int main()
{
    freopen("submultimi.in", "r", stdin);
    freopen("submultimi.out", "w", stdout);
    int n;
    scanf("%d", &n);
    for(register int conf = 1 ; conf < (1 << n) ; ++ conf) {
        s = "";
        for(register 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);
        }
        int k = s.size();
        for(register int i = 0; i < k; i++)
            printf("%c", s[i]);
        printf("\n");
    }
    return 0;
}