W porównaniu do poprzedniego ([algorytmika] Problem), kolejny problem wydaje się być dziecinną igraszką.
Permutacje:
Mamy skończony ciąg n-elementowy.
Rozwiązaniem jest wypisanie wszystkich możliwych, niepowtarzających się permutacji tego ciągu.
Czyli jeżeli mamy ciąg wejściowy 1,2 odpowiedzią jest:
1,2
2,1
A dla ciągu 1,2,3:
1,2,3
1,3,2
2,1,3
2,3,1
3,1,2
3,2,1
Zachodzi ogólna zależność: dla ciągu n-elementowego istnieje n! niepowtarzających się permutacji, gdzie działanie n! oznacza "n silnia" i jest zdefiniowane rekurencyjnie:
0!=1
n!=n-1!*n
dla liczb naturalnych dodatnich (n>0).
Jak zwykle proszę nie o kod źródłowy, tylko o niezwiązany z konkretnym językiem programowania algorytm.
Pozdrawiam