n個の要素と0からn!-1までの数字の順列の間には、順列と対応する数字の辞書式順序が同じになるように、よく知られた全単射があります。たとえば、n = 3の場合:
0 <-> (0, 1, 2)
1 <-> (0, 2, 1)
2 <-> (1, 0, 2)
3 <-> (1, 2, 0)
4 <-> (2, 0, 1)
5 <-> (2, 1, 0)
n個の要素の順列がグループ(n次の対称グループ!)を形成することもよく知られています-したがって、特に、n個の要素の1つの順列がn個の要素の2番目の順列に適用されると、n個の要素の順列が生成されます。
たとえば、(a、b、c)に(1、0、2)を適用すると(b、a、c)が得られるため、(1、0、2)を(2、1、0)に適用すると(1、2 、0)。
n、p1、およびp2の3つの整数引数を取るプログラムを作成します。p1とp2をn個の要素の順列として解釈します。1番目を2番目に適用します。対応する整数を出力します。例えば:
$ ./perm.sh 3 2 5
3
A.
昨日のドキュメントを覗きましたが、質問O :