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