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

Subfactorial - dCode

Tag(s) : Arithmetics

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*!

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

__Example:__ $$ \begin{align} !4 &= 4! ( \frac{(-1)^0}{0!} + \frac{(-1)^1}{1!} + \frac{(-1)^2}{2!} + \frac{(-1)^3}{3!} + \frac{(-1)^4}{4!} ) \\ &= 4! \times ( 1/1 - 1/1 + 1/2 - 1/6 + 1/24 ) \\ &= 24 \times 9/24 \\ &= 9 \end{align} $$

This formula is also used: $$ !n = \left [ \frac {n!}{e} \right ] $$ where brackets `[]` stands for rounding to the closest integer.

__Example:__ $ 4! / e \approx 24/2.718 \approx 8.829 \Rightarrow !4 = 9 $

And a recurrence relationship : $$ !n = n \times !(n-1) + (-1)^n $$

The first values for the first natural numbers are:

!1 = 0 |

!2 = 1 |

!3 = 2 |

!4 = 9 |

!5 = 44 |

!6 = 265 |

!7 = 1854 |

!8 = 14833 |

!9 = 133496 |

!10 = 1334961 |

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

By convention, postfixed operators have priority (the calculation goes first) over prefixed, so factorial (postfixed) has priority over subfactorial (prefixed)

__Example:__ $ !3! = !(3!) $

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 $.

__Example:__ The $ !4 = 9 $ 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}`.

dCode retains ownership of the "Subfactorial" source code. Except explicit open source licence (indicated Creative Commons / free), the "Subfactorial" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Subfactorial" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Subfactorial" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!

Reminder : dCode is free to use.

The copy-paste of the page "Subfactorial" or any of its results, is allowed (even for commercial purposes) as long as you cite dCode!

Exporting results as a .csv or .txt file is free by clicking on the *export* icon

Cite as source (bibliography):

*Subfactorial* on dCode.fr [online website], retrieved on 2023-09-30,

subfactorial,permutation,exclamation,derangement,factorial,calculator

https://www.dcode.fr/subfactorial

© 2023 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback