# Factorielle

En mathématiques, la factorielle d'un entier naturel n est le produit des nombres entiers strictement positifs inférieurs ou égaux à n.
Cette opération est notée avec un point d'exclamation, n!, ce qui se lit soit « factorielle de n », soit « factorielle n », soit « n factorielle ». Cette notation a été introduite en 1808 par Christian Kramp.
Par exemple, la factorielle 10 exprime le nombre de combinaisons possibles de placement des 10 convives autour d'une table (on dit la permutation des convives). Le premier convive s'installe sur l'une des 10 places à sa disposition. Chacun de ses 10 placements ouvre 9 nouvelles possibilités pour le deuxième convive, celles-ci 8 pour le troisième, et ainsi de suite.
La factorielle joue un rôle important en algèbre combinatoire parce qu'il y a n! façons différentes de permuter n objets. Elle apparaît dans de nombreuses formules en mathématiques, comme la formule du binôme et la formule de Taylor.

## Histoire

Au XIIIe siècle, le mathématicien de Marrakech Ibn Mun’im publie un livre intitulé La science du calcul (Fiqh Al-Hisab) dans lequel il traite pour la première fois de factorielles. Il démontre notamment comment calculer le nombre des permutations d'un ensemble de n éléments.

## Définition

Soit n un entier naturel. Sa factorielle est formellement définie par :
    $n!=\prod _{1\leqslant i\leqslant n}i=1\times 2\times 3\times \ldots \times (n-1)\times n.$
Le tableau de droite donne les premières factorielles ; par exemple, on a :
    1! = 1
    2! = 1 × 2 = 2
    3! = 1 × 2 × 3 = 6
    4! = 1 × 2 × 3 × 4 = 24
    10! = 1 × 2 × 3 × 4 × 5 × 6 × 7 × 8 × 9 × 10 = 3 628 800

### Valeur de 0!

Cette définition donne aussi :
    0! = 1
puisque par convention, le produit vide est égal à l'élément neutre de la multiplication. Cette convention est pratique ici car elle permet à des formules de dénombrement obtenues en analyse combinatoire d'être encore valides pour des tailles nulles. En particulier, le nombre d'arrangements ou de permutations de l'ensemble vide est égal à 1.
Il existe aussi une définition par récurrence (équivalente) de la factorielle :
* 0! = 1.
* Pour tout entier $n>0$, $n!=(n-1)!\times n$.
Enfin, la fonction Gamma, qui prolonge analytiquement la factorielle, donne un résultat cohérent :
    $\Gamma (n)=(n-1)!\qquad n\in \mathbb {N} _{0},$
    $\Gamma (1)=1=0!$

## Propriétés

* Les inverses des factorielles sont les coefficients du développement en série entière de la fonction exponentielle :$\mathrm {e} ^{x}=\sum _{n=0}^{+\infty }{\frac {x^{n}}{n!}}$,le cas x = 1 donnant la valeur de la constante e :$\sum _{n=0}^{+\infty }{\frac {1}{n!}}=\mathrm {e} =2,718\,281\,828\,459\ldots$.
* Les n – 1 entiers consécutifs n! + 2, n! + 3, … , n! + n sont composés. Donc il y a dans la suite des entiers des « trous » aussi grands que l'on veut où il n'y a aucun nombre premier.

## Généralisation

La fonction factorielle admet pour prolongement, à l'ensemble des nombres complexes autres que les entiers strictement négatifs, l'application $z\mapsto \Gamma (z+1)$ où $\Gamma$ désigne la fonction gamma d'Euler. En effet, pour tout entier naturel n, on a :
    $n!=\int _{0}^{\infty }t^{n}{\rm {e}}^{-t}{\rm {d}}t=\Gamma (n+1).$
Par ailleurs, la fonction $z\mapsto \Gamma (z+1)$ vérifie la même relation de récurrence que la factorielle :
    $\forall z\in \mathbb {C} \setminus (-\mathbb {N} ),\quad \Gamma (z+1)=z\Gamma (z).$
Cette vision de la fonction gamma (translatée) comme prolongement privilégié de la factorielle est justifiée par les raisons suivantes :
* les deux fonctions partagent une même définition récurrente ;
* la fonction gamma est généralement utilisée dans un contexte similaire (même si plus général) à la factorielle ;
* la fonction gamma est la seule fonction qui satisfasse cette définition de récurrence sur les nombres complexes, qui est holomorphe et dont le logarithme de la restriction aux réels positifs est convexe (théorème de Bohr-Mollerup).
Il existe cependant d'autres prolongements ayant de « bonnes propriétés », comme la fonction gamma d'Hadamard, qui est entière.

## Approximation

La formule de Stirling donne un équivalent de n! quand n est grand :
    $\lim _{n\to +\infty }{\frac {n!}{{\sqrt {2\pi n}}\left({\frac {n}{\mathrm {e} }}\right)^{n}}}=1$
d'où
$n!\sim {\sqrt {2\pi n}}\,{\left({\frac {n}{\mathrm {e} }}\right)}^{n}$
où le nombre e désigne la base de l'exponentielle.
On en déduit une approximation du logarithme de $n!$ :
$\ln \left(n!\right)\simeq (n+{\tfrac {1}{2}})\ln \left(n\right)-n+\ln({\sqrt {2\pi }})$

## Exemples d'applications

En combinatoire, il existe n! façons différentes d'arranger n objets distincts (c’est-à-dire n! permutations). Et le nombre de façons de choisir k éléments parmi un ensemble de n est donné par le coefficient binomial :
    ${n \choose k}={n! \over k!(n-k)!}.$
Les factorielles apparaissent également en analyse. Par exemple, le théorème de Taylor, qui exprime la valeur en x d'une fonction ƒ sous forme de série entière, fait intervenir la factorielle n! pour le terme correspondant à la ne dérivée de ƒ en x.
Le volume d'une hypersphère en dimension n paire peut être exprimé par :
    $\mathrm {V} _{n}={\frac {\pi ^{\frac {n}{2}}\mathrm {R} ^{n}}{\left({\frac {n}{2}}\right)!}}.$
Les factorielles sont utilisées de façon intensive en théorie des probabilités.
Les factorielles sont souvent utilisées comme exemple — avec la suite de Fibonacci — pour l'apprentissage de la récursivité en informatique du fait de leur définition récurrente simple.

## Théorie des nombres

Les factorielles ont de nombreuses applications en théorie des nombres.
Par exemple, le théorème de Wilson montre qu'un entier n > 1 est premier si et seulement si $(n-1)!\equiv -1{\pmod {n}}$.
En particulier, si n est premier alors il ne divise pas (n – 1)!, ce qui peut d'ailleurs se déduire directement du lemme d'Euclide ; la réciproque est presque vraie : si n est un nombre composé différent de 4, alors (n – 1)! ≡ 0 (mod n).
Une preuve de ce dernier énoncé utilise qu'un produit P de k entiers consécutifs est toujours divisible par k (puisque l'un des k facteurs l'est). En fait, P est même divisible par k! on peut le démontrer en exprimant P/k! comme un coefficient binomial, ou bien en comparant, pour tout nombre premier p, la multiplicité de p dans les décompositions en facteurs premiers de P et de k!, grâce à la formule de Legendre.
La seule factorielle qui soit également un nombre premier est 2, mais il existe des nombres premiers de la forme n! ± 1, appelés nombres premiers factoriels.

## Variantes

De nombreux auteurs ont défini des fonctions analogues, croissant plus rapidement encore, ainsi que des produits restreints à certains entiers seulement. On rencontre ainsi dans la littérature les fonctions primorielles, multifactorielles, superfactorielles, hyperfactorielles, etc. Mais il ne semble pas que, contrairement à la factorielle, omniprésente dans la plupart des branches des mathématiques, ces autres fonctions aient eu beaucoup d'applications autres que récréatives, sauf les primorielles ; quant à leur utilisation pour désigner de très grands nombres, les notations de Knuth et celles de Conway s'avèrent à la fois plus maniables et beaucoup plus efficaces.

## Algorithme

Le calcul de la factorielle peut se traduire par l'algorithme récursif suivant, écrit en pseudo-code :

## Nombre de zéros finaux de n!

On admet la notation suivante : $\forall x\in \mathbb {R} ,\lfloor x\rfloor$ est la partie entière de $x$ définie par ${\begin{cases}\lfloor x\rfloor \in \mathbb {Z} \\\lfloor x\rfloor \leqslant x<\lfloor x\rfloor +1\end{cases}}$.
Cette propriété ne présente pas de grand intérêt en apparence mais permet d'obtenir le nombre de zéros finaux de n!. Mais qu'est ce qu'un zéro final ? Prenons comme exemple 10!=1×2×3×4×5×6×7×8×9×10=3628800{\textstyle 10!=1\times 2\times 3\times 4\times 5\times 6\times 7\times 8\times 9\times 10=3628800}, il y a deux zéros finaux. Nommons $\mu (n)$ une telle fonction.$\mu (n)=\sum _{k=1}^{\lfloor \log _{5}(n)\rfloor }\left\lfloor {\frac {n}{5^{k}}}\right\rfloor$
On a $10!=10^{2}\times 36288.$
On cherche donc le nombre de facteurs 10 dans 10!, il y en a deux. Pour trouver le deuxième, on décompose $10!$ en produit de facteurs premiers, on obtient : $10!=2\times 3\times (2\times 2)\times 5\times (2\times 3)\times 7\times (2\times 2\times 2)\times (3\times 3)\times (2\times 5)$ Pour obtenir $10^{2}$; on peut réarranger ainsi : 10!=1×3×4×6×7×8×9×(5×2×5×2){\textstyle 10!=1\times 3\times 4\times 6\times 7\times 8\times 9\times (5\times 2\times 5\times 2)}
On remarque que $10$ se décompose en $2\times 5$, donc chercher des facteurs $10$ est équivalent à chercher des facteurs $5$ multiplié par $2$. En généralisant, il y a $\left\lfloor {\frac {n}{2}}\right\rfloor$ multiples de $2$ et $\lfloor {\frac {n}{5}}\rfloor$ multiples de $5$ inférieurs ou égales à $n$. De plus dans un multiple de $2$, il y a au moins un facteur $2$, de même pour un multiple de $5$. Comme $\lfloor {\frac {n}{5}}\rfloor \leq \lfloor {\frac {n}{2}}\rfloor$, on pourra toujours combiner un facteur $2$ avec un facteur $5$ et donc obtenir un facteur $10$. Ainsi le nombre de zéros finaux de $n!$ sera le nombre de facteurs $5$ de $n!$. Pour trouver le nombre de facteurs $5$, on a le nombre de multiples de $5$ mais ce n'est pas suffisant, dans $25$ il y a deux facteurs $5$ ($5^{2}$), comme $50$ et $75$, dans $125$ il y a trois facteurs $5$ ($5^{3}$). Plus simplement on doit compter $k$ fois chaque multiple $5^{k}$. Donc le nombre de facteurs $5$ de $n!$ est la somme du nombres de multiples de chaque puissance de $5$ inférieures ou égales à $n$. C'est-à-dire : $\sum _{k=1}^{\alpha }\left\lfloor {\frac {n}{5^{k}}}\right\rfloor$Avec $5^{\alpha }$ la plus grande puissance de $5$ inférieure ou égale à $n$. On a donc :
5$^α$≤n⇔ln⁡(5$^α$)≤ln⁡(n)⇔αln⁡(5)≤ln⁡(n)⇔α≤log$_5$⁡(n).{\textstyle 5^{\alpha }\leq n\Leftrightarrow \ln(5^{\alpha })\leq \ln(n)\Leftrightarrow \alpha \ln(5)\leq \ln(n)\Leftrightarrow \alpha \leq \log _{5}(n).}
On veut $\alpha$ l'entier inférieur le plus proche de $\log _{5}(n)$, d'où $\alpha =\lfloor \log _{5}(n)\rfloor$.
Et ainsi le nombre de zéros finaux de $n!$ vaut : $\sum _{k=1}^{\lfloor \log _{5}(n)\rfloor }\left\lfloor {\frac {n}{5^{k}}}\right\rfloor$
Ce résultat est un cas particulier de la formule de Legendre.