Реферат: Генерация комбинаторных объектов

begin

for i:=1 to N do write(alphabet[b[i]]);

writeln;

end;

begin

readln(K);

N:=0;

for i:=1 to K do

begin read(NN[i]); N:=N+NN[i]; end;

i:=0;

for j:=1 to k do

for m:=1 to NN[j]

do begin Inc(i); B[i]:=j; end;

WriteB;

while (true) do

begin

i:=N;

while (i>0) and (B[i]>=B[i+1]) do i:=i-1;

if i=0 then exit;

for j:=i+1 to N do if (B[j]>B[i]) then K:=j;

SwapB(i,k);

for j:=i+1 to (i+ ((N+1-i) div 2)) do SwapB(j,N+i+1-j);

WriteB;

end;

end.


6 Сочетания с повторениями

Для множества символов от A до C и размера M=3 сочетания с повторениями будут следующими:

CCC BCC BBC BBB ACC ABC ABB AAC AAB AAA

Общее количество сочетаний = (N+M-1)! / (M!*(N-1)!)

К-во Просмотров: 405
Бесплатно скачать Реферат: Генерация комбинаторных объектов