RosettaCodeData/Task/Permutations-by-swapping/Mathematica/permutations-by-swapping-1....

6 lines
154 B
Plaintext

perms[0] = {{{}, 1}};
perms[n_] :=
Flatten[If[#2 == 1, Reverse, # &]@
Table[{Insert[#1, n, i], (-1)^(n + i) #2}, {i, n}] & @@@
perms[n - 1], 1];