Разработать алгоритм генерации всех подмножеств n-элементного множества. Delphi , можно и...

0 голосов
117 просмотров

Разработать алгоритм генерации всех подмножеств n-элементного множества. Delphi , можно и на Pascal (только не ABC.NET)


Информатика (50 баллов) | 117 просмотров
0

На С++ пойдет?

0

Эникей, Земля вращается вокруг солнца

0

Я не сомневаюсь

0

Черт, меня раскусили.

Дан 1 ответ
0 голосов
Правильный ответ

В массиве 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

(194k баллов)
0

Что-то поздно я зашел, ладно, я проверять)