Тема: Булеан множини
Прийшов мій час засирати форум лабами.
Тож, вчуся я в НУ Львів Політех. Комп. науки. Перша лаба, з дискретки.
Треба вивести булеан множин. Можна на пітоні, можна на сішці. Я взагалі не викопаю, алгоритму.
Рахує ок лише на певній стадії. Тобто якщо є множина 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;
}
Буду дуже радий за будь-яку допомогу. Просто супер було б якби я вкурив алгоритм.
Якщо хтось напише мені на пітоні - віддячусь (переносити тему в розділ пошуку роботи, думаю не треба).