Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Дискр. мат:Вывести булеан для введённого множества

Автор: Khv_Student 18.02.2004 7:38

Задача такая:
Вводятся элементы множества А (максимум 10), необходмо вывести булеан множества А. Булеан - все подмножества заданного множества.
Например: A={1, 2 ,3}
Boolean(A)={{-0-}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}

({-0-} - пустое множество)

Можно просто тупо сделать 10 циклов - большой исходник.
Но задача должна решаться проще - кто знает как, подскажите пожалуйста.

Автор: zx1024 19.02.2004 3:37

На самом деле, мн-ва в паскале - посл-сть битов.
Поэтому сам перебор будет выглядеть, как перебор чисел от 0 до 2^n, где n - мощность мн-ва. (Можно самому эмулировать).
Чуть посложнее будет выглядеть вывод множества на экран.