3
排列组运算
在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个元素的一个排列应用于n个元素的第二个排列将产生n个元素的排列。 例如,将(1、0、2)应用于(a,b,c)收益率(b,a,c),因此将(1、0、2)应用于(2、1、0)收益率(1、2 ,0)。 编写一个使用三个整数参数的程序:n,p1和p2;将p1和p2解释为n个元素的排列;将第一个应用于第二个;并输出相应的整数。例如: $ ./perm.sh 3 2 5 3