# Fattoriale

In matematica, si definisce fattoriale di un numero naturale $n$, indicato con $n!$, il prodotto dei numeri interi positivi minori o uguali a tale numero. In formula:
    $n!:=\prod _{k=1}^{n}k=1\cdot 2\cdot 3\cdots (n-1)\cdot n$
per la convenzione del prodotto vuoto si definisce inoltre $0!:=1$. La generalizzazione analitica del fattoriale è nota con il nome di funzione gamma di Eulero.
La notazione con il punto esclamativo è stata introdotta nel 1807 da Christian Kramp, mentre il nome fattoriale era stato coniato pochi anni prima, nel 1800 da Antoine Arbogast.
La sequenza dei fattoriali compare nella On-Line Encyclopedia of Integer Sequences (OEIS) come sequenza A000142.

## Esempio di numeri fattoriali

I valori dei primi numeri fattoriali sono riassunti nella seguente tabella:
| n | n! |
| 0 | 1 |
| 1 | 1 |
| 2 | 2 |
| 3 | 6 |
| 4 | 24 |
| 5 | 120 |
| 6 | 720 |
| 7 | 5 040 |
| 8 | 40 320 |
| 9 | 362 880 |
| 10 | 3 628 800 |
| 11 | 39 916 800 |
| 12 | 479 001 600 |
| 13 | 6 227 020 800 |
| 14 | 87 178 291 200 |
| 15 | 1 307 674 368 000 |
| 16 | 20 922 789 888 000 |
| 17 | 355 687 428 096 000 |
| 18 | 6 402 373 705 728 000 |
| 19 | 121 645 100 408 832 000 |
| 20 | 2 432 902 008 176 640 000 |
| 21 | 51 090 942 171 709 440 000 |
| 22 | 1 124 000 727 777 607 680 000 |
| 23 | 25 852 016 738 884 976 640 000 |
| 24 | 620 448 401 733 239 439 360 000 |
| 25 | 15 511 210 043 330 985 984 000 000 |
| 26 | 403 291 461 126 605 635 584 000 000 |
| 27 | 10 888 869 450 418 352 160 768 000 000 |
| 28 | 304 888 344 611 713 860 501 504 000 000 |
| 29 | 8 841 761 993 739 701 954 543 616 000 000 |
| 30 | 265 252 859 812 191 058 636 308 480 000 000 |

## Definizione ricorsiva

La funzione fattoriale può anche essere definita in modo ricorsivo:
    $n!:={\begin{cases}1&{\text{se }}n=0,\\n(n-1)!&{\text{se }}n\geq 1.\end{cases}}$
Per questa ragione, viene spesso utilizzata nell'insegnamento dell'informatica per fornire il primo esempio di calcolo ricorsivo.

## Zero fattoriale

Nella definizione come produttoria, la richiesta che $0!$ sia pari a uno si accorda con la richiesta che il prodotto di zero fattori, il cosiddetto prodotto vuoto, come la potenza nulla di un intero positivo, sia uguale ad $1$. Per convincersi ulteriormente di questo fatto, si può anche pensare di definire $1!=1$ e osservare che
    $1=1!=1\cdot (1-1)!=1\cdot 0!=0!$
come si desume dalla definizione ricorsiva.

## Applicazioni

I fattoriali innanzitutto sono importanti nel calcolo combinatorio. In particolare vi sono $n!$ diverse sequenze formate da $n$ oggetti distinti, cioè vi sono $n!$ permutazioni di $n$ oggetti; i fattoriali quindi enumerano le permutazioni.
Data l'importanza delle permutazioni, segue che i fattoriali si incontrano in numerosissime espressioni. Ad esempio, rimanendo nel calcolo combinatorio, il numero di scelte di $k$ oggetti fra quelli che costituiscono un insieme di $n$ elementi, cioè il numero dei sottoinsiemi di $k$ elementi di un dato insieme di $n$ oggetti, è dato dal cosiddetto coefficiente binomiale:
    ${\binom {n}{k}}={\dfrac {n!}{k!(n-k)!}}.$
I fattoriali si incontrano anche nel calcolo infinitesimale: innanzitutto va osservato che la $n$-esima derivata di $x^{n}$ è $n!$; una conseguenza di questo fatto è il teorema di Taylor che esprime una funzione $f(x)$ come serie di potenze nella $x$ servendosi dei fattoriali e dei valori delle derivate. I fattoriali si incontrano spesso anche nelle espressioni delle funzioni speciali, nell'analisi numerica, nel calcolo delle probabilità, nella meccanica statistica e nella meccanica quantistica.

## Varianti e generalizzazioni

Il fattoriale presenta numerose varianti e generalizzazioni. Tra le prime il multifattoriale e in particolare il semifattoriale, il fattoriale crescente e il fattoriale decrescente. Tra le generalizzazioni "discrete" troviamo l'iperfattoriale e il superfattoriale. Molte di queste varianti nascono dal calcolo della cardinalità di alcuni insiemi nati dalla combinatoria. La funzione gamma è invece una generalizzazione "continua".

### Funzione gamma

La funzione gamma è una funzione analitica definibile mediante l'integrale
    $\Gamma (z):=\int _{0}^{+\infty }t^{z-1}e^{-t}\,dt,\qquad {\text{per }}\mathrm {Re} (z)>0.$
Per essa si dimostrano facilmente le proprietà:
    $\Gamma (1)=1,\qquad \Gamma (z+1)=z\Gamma (z),\qquad {\text{per }}\mathrm {Re} (z)>0.$
Essa dunque estende la funzione fattoriale definita sugli interi naturali all'intero campo complesso (con la sola eccezione degli interi negativi):
    $z!=\Gamma (z+1)=\int _{0}^{+\infty }t^{z}e^{-t}\,dt.$
Si dimostra inoltre che essa è l'unica estensione analitica del fattoriale.

### Semifattoriale o doppio fattoriale

La notazione $n!!$ denota il semifattoriale (o doppio fattoriale) di $n$ ed è definita ricorsivamente nel modo seguente:
    $n!!={\begin{cases}1&{\text{se }}n=0{\text{ o }}n=1,\\n\cdot (n-2)!!&{\text{se }}n\geq 2.\end{cases}}$
Per esempio $8!!=2\cdot 4\cdot 6\cdot 8=384$ e $9!!=1\cdot 3\cdot 5\cdot 7\cdot 9=945$. La sequenza di semifattoriali per $n=0,1,2,\dots$ è la seguente:
    $1,1,2,3,8,15,48,105,384,945,3840,\dots$
Tra le identità che legano il fattoriale al doppio fattoriale, troviamo:
    ${\begin{aligned}n!&=n!!\cdot (n-1)!!\\2^{n}\cdot n!&=(2n)!!\\{\dfrac {(2n+1)!}{2^{n}\cdot n!}}&=(2n+1)!!\end{aligned}}$
La seconda identità risulta utile per i semifattoriali pari, mentre l'ultima identità per i semifattoriali dispari: è deducibile dalla constatazione che moltiplicare tra loro tutti i numeri dispari fino a $2n+1$ equivale a moltiplicare tutti gli interi fino a $2n+1$ per poi eliminare, ossia dividere, quelli pari, ossia $2^{n}\cdot n!$).

### Multifattoriale

Il semifattoriale si può generalizzare intorducendo la nozione di multifattoriale di $n$, indicato con $n!_{(\alpha )}$ e definito ricorsivamente nel modo seguente:
    $n!_{(\alpha )}={\begin{cases}1&{\text{se }}n=0,\\n&{\text{se }}0<n<\alpha ,\\n\cdot (n-\alpha )!_{(\alpha )}&{\text{se }}n\geq \alpha .\end{cases}}$
La formula chiusa di $n!_{(\alpha )}$, per $n\in \mathbb {N}$ è
    $n!_{(\alpha )}=\alpha ^{\lceil {\frac {n}{\alpha }}\rceil }{\frac {\left({\frac {n}{\alpha }}\right)!}{\left({\frac {n}{\alpha }}-\lceil {\frac {n}{\alpha }}\rceil \right)!}},$
dove $\lceil \cdot \rceil$ è la funzione parte intera superiore e $x!=\Gamma (x+1)$.

## Valutazione numerica dei fattoriali

Il valore numerico di $n!$ può essere calcolato mediante ripetute moltiplicazioni fino ad un valore non eccessivo di $n$; questo è ciò che fanno le calcolatrici odierne. Al di sopra di un certo $n$ lo strumento di calcolo in uso cessa di dare risultati sensati per via dell'overflow. Ad esempio, una calcolatrice capace di operare su $100$ cifre decimali riesce a calcolare $69!$, ma non il fattoriale successivo, in quanto $70!>10^{100}$.
Quando $n$ è molto grande in genere non serve conoscere il valore preciso di $n!$ e può essere sufficiente stimarlo con una opportuna accuratezza. Per questo scopo in genere si usa l'approssimazione di Stirling:
    $n!\approx {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}.$