Tool for generating derangements. In mathematics, a derangement is a permutation of distinct objects without fixed point, ie that no object is in its original position.
Derangements - dCode
Tag(s) : Combinatorics
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Tool for generating derangements. In mathematics, a derangement is a permutation of distinct objects without fixed point, ie that no object is in its original position.
To generate the list of derangements of a set, the easiest way is to list the permutations and remove those with fixed points (elements having an identical position in the permutation and in the starting position).
Example: The set A,B,C has 6 permutations: A,B,C B,A,C C,A,B A,C,B B,C,A C,B,A. Remove the one with fixed points, ie. the permutations with A in position 1, and/or those with B in position 2 and/or those with C in position 3.
The list of derangements are the 2 remaining permutations C,A,B and B,C,A.
Counting derangements uses subfactorials. For n items, the number of derangements is equal to !n (subfactorial of n): $$ !n = n! \sum_{k=0}^n \frac {(-1)^k}{k!} $$
Derangements makes exponential values. The more calculations there are, the more expensive are computer servers, so the large generations must be paid.
dCode retains ownership of the online 'Derangements' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for Derangements download for offline use on PC, tablet, iPhone or Android !
Please, check our community Discord for help requests!