Тема: Булеан множини
Прийшов мій час засирати форум лабами.
Тож, вчуся я в НУ Львів Політех. Комп. науки. Перша лаба, з дискретки.
Треба вивести булеан множин. Можна на пітоні, можна на сішці. Я взагалі не викопаю, алгоритму.
Рахує ок лише на певній стадії. Тобто якщо є множина a, b. c то код вище виведе ab. Не модифікував далі.
Нагуглив що булеан має шукатись через рекурсію, але теж не зрозуміло як. з вікі: 
-------------
Ще нагугли c код: але в ньому розібратись не можу, також не зрозумів алгоритму (побітовий зсув тут до чого взагалі?)
#include<iostream>
void Print(char *a, int n, int i)
{
    if (n)
    {
        if (n & 1)
            std::cout << a[i] << " ";
        Print(a, n >> 1, i + 1);
    }
}
int main()
{
    int r, i, size;
    char a[] = {'a', 'b', 'c'};
    size = sizeof(a) / sizeof (*a);
    r = 1 << size;
    for (i = 0; i < r; i++)
    {
        Print(a, i, 0);
        std::cout << "\n";
    }
    return 0;
}Буду дуже радий за будь-яку допомогу. Просто супер було б якби я вкурив алгоритм.
Якщо хтось напише мені на пітоні - віддячусь (переносити тему в розділ пошуку роботи, думаю не треба).

  Як в тому анекдоті -- оскільки для будівництва сараю дощок не вистачає, то перейдемо одразу до будівництва комунізму.