Предмет: Информатика, автор: bertain

Задание на фотографии

Приложения:

bertain: желательно С или С++
bertain: но решение будет принято на ЛЮБОМ языке! главное - с комментариями
bertain: Согласна, в Паскале комментарии не нужны
bertain: Да, включать

Ответы

Автор ответа: BobbyFresnel
1

===== PascalABC.NET =====

function Dec2Bin(m, n: integer): string;

// перевод целого n  в строку длины m,

// содержащую битовое представление n

begin

 Result := '0' * m;  // строка из m нулей

 var i := m;   // идем по строке справа налево

 while n > 0 do

 begin  

   if n.IsOdd then

     Result[i] := '1';  // единичный бит для нечетной цифры

   n := n shr 1;   // сдвиг на 1 разряд вправо- аналог деления на 2

   i += -1;        // к следующему символу строки

 end

end;

procedure SubSets<integer>(P: HashSet<integer>);

begin

 var n := P.Count;     // мощность множества

 var L := P.ToList;    // список из элементов множества  

 var Q := new HashSet<HashSet<integer>>; // результирующее множество

 var ht := new HashSet<integer>;   // новое рабочее множество

 Q.Add(ht);        // добавили пустое множество

 ht := nil;

 Q.Add(P);         // добавили исходное множество

 var m := Trunc(2 ** n) - 2;   // число оставшихся подмножеств

 for var i := 1 to m do        // перебор сочетаний

 begin

   var s := Dec2Bin(n, i);   // битовая шкала для сочетания

   ht := new HashSet<integer>;   // создали рабочее множество

   for var j := 1 to n do    // построение подмножества

     if s[j] = '1' then

       ht.Add(L[j-1]);

   Q.Add(ht);    // добавили подмножество

   ht := nil     // уничтожили рабочее подмножество

 end;

 Q.Print(', ')

end;

begin

 var n := ReadInteger('Мощность множества:');

 var P := ReadSeqInteger('Введите элементы множества:', n).ToHashSet;

 SubSets(P)

end.

Приложения:

au456: Не - не удержусь ))) from itertools import combinations
l = input ().split()
for i in range(len(l)+1):
print([j for j in combinations(l,i)])
au456: Нет ничего. Бросаться на людей то незачем, которые на Питоне пишут. Ну не красит Вас это - ей богу .
Похожие вопросы
Предмет: Русский язык, автор: momi3