Решение олимпиадных задач по информатике
Ниже приведен фрагмент программы, реализующий алгоритм формирования комбинаторных групп двоичным перебором ( - количество элементов в исходном множестве):
…st:=1;for i:=1 to n do st:=st*2;for i:= 1 to (st-1) do begin for j:= 1 to n do if y[j]= 0 then x:= j; for z:= x to n do y[z]:=0; y[x]:=1;…
Назначение данного фрагмента:
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая размещениям с повторениями. Что нужно изменить в алгоритме, чтобы из набора выбираемых элементов исключить повторяющиеся:
…for i:=1 to n dofor j:=1 to n do if i<>j then writeln (A[i], A[j]);…
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая такому основному типу комбинаторных групп:
…for i:=1 to n dofor j:=1 to n do if i<>j then writeln (A[i], A[j]);…
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая такому основному типу комбинаторных групп:
...k:=1;for j:=k to m-k dofor i:=j+k to m do writeln (A[i], '-', A[j]); …
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая такому основному типу комбинаторных групп:
...for i:=1 to n-1 dofor j:=i+1 to n do writeln (A[i], A[j]); …
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая такому основному типу комбинаторных групп:
...for i:=1 to n dofor j:=i to n do writeln (A[i], A[j]); …
В результате выполнения программы на Паскале, фрагмент которой приведен ниже, произойдет выборка элементов из исходного массива, соответствующая такому основному типу комбинаторных групп:
…for i:=1 to n dofor j:=1 to n do writeln (A[i], A[j]);…