Реферат: Генерация комбинаторных объектов
CDE CED DCE DEC ECD EDC
Общее количество pазмещений - из N элементов по M может быть
найдено по формуле:
N! / (N-M)!
Ниже приводится программа, которая вводит с клавиатуры числа N, M и генерирует все возможные размещения из N букв по M.
const
alphabet : string[26] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
type
barray = array [1..100] of byte;
var
b : barray;
N,M,i,j,k : byte;
z : longint;
Procedure WriteB(B:barray);
begin
Inc(Z); Write (Z:3,' : ');
for i:=1 to M do write(alphabet[b[i]]);
writeln;
end;
Procedure SwapB(var B:barray;i,k:byte);
var x : byte;
begin
x:=B[i]; B[i]:=B[k]; B[k]:=x;
end;
Procedure PermuteAll(B:barray;N:byte);
var i,k,j : byte;
begin
WriteB(B);
while (true) do