Разработать алгоритм генерации всех подмножеств n-элементного множества. delphi , можно и на pascal (только не abc.net)

miheeva74 miheeva74    2   30.08.2019 14:20    1

Ответы
Портнягин Портнягин  06.10.2020 05:10
В массиве a получаем все возможные комбинации 0 и 1 (как в n-разрядном двоичном числе). Для каждой полученной комбинации печатаем индексы элементов, которые = 1.
var n,i:integer;
a:array of integer;
begin
write('n = ');
readln(n);
SetLength(a,n+1);
while a[n]<>1 do
 begin 
 i:=0;
 while (a[i]=1) do begin
   a[i]:=0;
   i:=i+1;
 end;
 a[i]:=1;
 For i:=0 to n-1 do
  if a[i]=1 then write(i+1);
 writeln;
end;
end.

Пример:
n = 3
1
2
12
3
13
23
123
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика