1) Получаем алгоритм перебора подмножеств. Каждому подмножеству соответствует целое число, битовая строка которого соответствует этому подмножеству. Прибавляя по 1, получаем все подмножества.
2) (Код Грея) Пусть получены двоичные коды подмножеств множества, состоящего из k элементов. Тогда – коды подмножеств множества, состоящего из k+1 элементов.