{Перебiр перестановок, розташувань, комбiнацiй у лексикографўчному порядку} const n=5; {Загальна кiлькiсть елементiв} k=3; {по скiльки елементiв} var h: array[1..255] of byte; {масиви перестановок} s: set of byte; i,j: byte; label NEXTi, NEXTh, FINISH; begin i:=0; s:=[]; NEXTi: inc(i); h[i]:=0; NEXTh: repeat inc(h[i]) until (h[i]>n) or not (h[i] in s); if h[i]>n then begin dec(i); if i=0 then goto FINISH; exclude(s,h[i]); goto NEXTh end; {Перевiрка h[i], якщо перебiр комбiнацiй} if (1