Tool to compute subfactorial. Subfactorial !n is the number of derangements of n object, ie the number of permutations of n objects in order that no object stands in its original position.

dCode is free and its tools are a valuable help in games, puzzles and problems to solve every day! You have a problem, an idea for a project, a specific need and dCode can not (yet) help you? You need custom development? Contact-me!

This page is using the new English version of dCode, please make comments !

Tool to compute subfactorial. Subfactorial !n is the number of derangements of n object, ie the number of permutations of n objects in order that no object stands in its original position.

Answers to Questions

How to calculate a subfactorial?

SubFactorial n is a calculated using this formula: $$ !n = n! \sum_{k=0}^n \frac {(-1)^k}{k!} $$

You can also use the formula : $$ !n = \left [ \frac {n!}{e} \right ] $$ where [] stands for rounding to the closest integer.

How to write a subfactorial?

The subfactorial as the factorial, uses the exclamation mark as symbol but it is written to the left of the number: !N.

How to list derangements

Derangements (or Rencontres) are permutations without the one with fixed points (no item is in its original place). The number of derangements for n elements is subfactorial of n: n.

Derangements of {1,2,3,4} are {2,1,4,3}, {2,3,4,1}, {2,4,1,3}, {3,1,4,2}, {3,4,1,2}, {3,4,2,1}, {4,1,2,3}, {4,3,1,2}, and {4,3,2,1}, and so !4 = 9.

Ask a new question

Source code

dCode retains ownership of the source code of the script Subfactorial. Except explicit open source licence (free / freeware), any algorithm, applet, software (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any snippet or function (convert, solve, decrypt, encrypt, decipher, cipher, decode, code, translate) written in PHP (or Java, C#, Python, Javascript, etc.) which dCode owns rights can be transferred after sales quote. So if you need to download the Subfactorial script for offline use, for you, your company or association, see you on contact page !

dCode uses cookies to customize the site content, analyze user behavior and adapt dCode to your use. Some data is stored and collected for advertising purposes and may be shared with our partners. OK