在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
A.
昨天看了一下文档,但又太累了,无法尝试按正确的顺序整理问题O :-)