Quanto velocemente cresce un fattoriale
La crescita fattoriale supera rapidamente quella esponenziale, come mostra la tabella di valori esatti e approssimati qui sotto.
| n | n! | Ordine di grandezza |
|---|---|---|
| 0 | 1 | 1 |
| 5 | 120 | 1,2 × 10² |
| 10 | 3.628.800 | 3,6 × 10⁶ |
| 15 | 1.307.674.368.000 | 1,3 × 10¹² |
| 18 | 6.402.373.705.728.000 | 6,4 × 10¹⁵ |
| 20 | 2.432.902.008.176.640.000 | 2,4 × 10¹⁸ |
- 18! (≈ 6,40 × 10¹⁵) è il fattoriale più grande che resta sotto il limite degli interi sicuri, poiché il valore Number.MAX_SAFE_INTEGER di JavaScript è 2⁵³ − 1 ≈ 9,007 × 10¹⁵; il calcolatore mostra pertanto il valore esatto solo fino a n = 18. Oltre quel limite i fattoriali restano rappresentabili esattamente in doppia precisione fino a 22!, perché ciascuno contiene molti fattori due, e 23! è il primo che viene arrotondato.
- Da n = 19 a n = 170 compaiono soltanto l'approssimazione in notazione scientifica e ln(n!), poiché l'intero esatto richiederebbe una precisione superiore a quella dell'aritmetica in virgola mobile standard, ottenibile solo con una libreria per interi arbitrari.
- Oltre n = 170 il valore di n! supera il massimo rappresentabile dai numeri in virgola mobile a doppia precisione, circa 1,8 × 10³⁰⁸, e trabocca a infinito: per questo il calcolatore limita n a 170.
Che cos'è un fattoriale?
Il fattoriale di un intero non negativo n, indicato con n!, è definito come il prodotto di tutti gli interi positivi da 1 a n: n! = n × (n − 1) × (n − 2) × ... × 2 × 1. Per esempio, 5! = 5 × 4 × 3 × 2 × 1 = 120. Per definizione 0! = 1, in quanto prodotto vuoto e dunque pari all'elemento neutro della moltiplicazione: è una convenzione adottata universalmente in calcolo combinatorio.
I fattoriali crescono con enorme rapidità, molto più in fretta di qualunque funzione esponenziale di n. 10! vale 3.628.800, mentre 20! supera già i 2,4 trilioni (2,43 × 10¹⁸), un numero più grande dei secondi trascorsi dal Big Bang. È questa crescita esplosiva a rendere necessaria la notazione scientifica per n grandi e a rendere impraticabile, oltre una certa soglia, la visualizzazione del valore intero esatto.
I fattoriali sono il fondamento del calcolo combinatorio: contano in quanti modi si possono ordinare n oggetti distinti, cioè le permutazioni, e compaiono a denominatore nella formula del coefficiente binomiale, usata per contare le selezioni non ordinate, ossia le combinazioni. Ricorrono inoltre nella teoria della probabilità, nell'analisi matematica come coefficienti delle serie di Taylor e in numerose identità combinatorie in forma chiusa.
Come usare questo calcolatore di fattoriale
- Inserisci un numero intero n compreso fra 0 e 170: 170! è vicino al fattoriale più grande che i numeri in virgola mobile a doppia precisione riescono a rappresentare prima di traboccare a infinito.
- Leggi il risultato in notazione scientifica, sempre mostrato qualunque sia la dimensione di n.
- Per n ≤ 18 compare anche il valore intero esatto di n!, poiché i fattoriali più grandi eccedono l'intervallo degli interi rappresentabili esattamente in doppia precisione (2⁵³ ≈ 9,007 × 10¹⁵).
- Consulta infine il logaritmo naturale di n!, utile per lavorare con fattoriali enormi senza incorrere in overflow, e il numero di zeri finali nella rappresentazione decimale esatta di n!.
Come si calcolano fattoriale, zeri finali e ln(n!)
La relazione ricorsiva che definisce il fattoriale è n! = n × (n − 1)!, con caso base 0! = 1. Esempio svolto: 5! = 5 × 4! = 5 × 4 × 3! = 5 × 4 × 3 × 2! = 5 × 4 × 3 × 2 × 1! = 5 × 4 × 3 × 2 × 1 × 0! = 120 × 1 = 120.
Per n grandi il logaritmo naturale ln(n!) si calcola come somma Σ ln(k) per k da 2 a n, evitando così l'overflow che deriverebbe dal moltiplicare direttamente il fattoriale. La notazione scientifica si ricava poi da questa somma tramite il logaritmo in base 10: log₁₀(n!) = ln(n!) ÷ ln(10), dove la parte intera fornisce l'esponente e la parte frazionaria, riconvertita con 10^x, fornisce la mantissa.
Il numero di zeri finali di n! è pari al numero di volte in cui 10 divide esattamente n!. Poiché 10 = 2 × 5 e in un fattoriale i fattori 2 sono sempre più numerosi dei fattori 5, il conteggio si riduce a contare i fattori 5 con la formula di Legendre: zeri finali = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... Esempio svolto per 10!: ⌊10/5⌋ = 2 e ⌊10/25⌋ = 0, dunque 10! ha 2 zeri finali, come conferma il valore 10! = 3.628.800.
Errori comuni
- Dimenticare che 0! = 1 e non 0: si tratta di una convenzione matematica consolidata, quella del prodotto vuoto pari a 1, indispensabile perché le formule combinatorie funzionino correttamente nei casi limite.
- Ritenere che il fattoriale si possa calcolare esattamente per n arbitrariamente grandi con l'aritmetica standard: oltre n = 22 i valori interi esatti eccedono quanto i numeri in doppia precisione possono rappresentare senza arrotondare.
- Confondere n! con nⁿ: il fattoriale moltiplica una sequenza decrescente di interi fino a 1, mentre l'elevamento a potenza moltiplica n per sé stesso n volte; i due crescono a ritmi diversi e divergono in fretta (5! = 120 contro 5⁵ = 3.125).
- Inserire un numero negativo o non intero: in questa accezione elementare il fattoriale è definito soltanto per gli interi non negativi, mentre la funzione Gamma ne estende il concetto ai non interi con una formula distinta e ben più avanzata.
Domande frequenti
Che cos'è il fattoriale di n?
Il fattoriale di n (n!) è il prodotto di tutti i numeri interi positivi da 1 fino a n. Per esempio, 5! = 5 × 4 × 3 × 2 × 1 = 120. Per definizione, inoltre, 0! = 1.
Perché 0! è uguale a 1?
0! vale 1 per convenzione matematica: rappresenta un «prodotto vuoto», cioè un prodotto di zero fattori, che per definizione coincide con l'elemento neutro della moltiplicazione. Questa scelta mantiene coerenti nei casi limite le formule di permutazioni e combinazioni: esiste infatti esattamente 1 modo di disporre zero oggetti.
Quanto velocemente crescono i fattoriali?
I fattoriali crescono più rapidamente di qualunque funzione esponenziale di n. 10! vale circa 3,6 milioni, ma 20! supera già 2,4 × 10¹⁸. È questo ritmo superesponenziale a rendere necessaria la notazione scientifica già per n moderatamente grandi e a fare del fattoriale l'esempio più citato di crescita rapidissima in matematica.
Quanti zeri finali ha 100!?
Applicando la formula di Legendre, cioè sommando ⌊100/5ⁱ⌋, si ottiene ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 zeri finali. Gli zeri finali derivano dai fattori 10 = 2 × 5 presenti nel prodotto e, poiché in un fattoriale i fattori 2 sono sempre più abbondanti dei fattori 5, contare i soli fattori 5 basta a determinarne il numero.
Qual è il fattoriale più grande calcolabile esattamente?
Nell'aritmetica in virgola mobile a doppia precisione, usata da JavaScript e dalla maggior parte dei calcolatori, 18! è il fattoriale più grande che resta sotto il limite degli interi sicuri: 18! ≈ 6,40 × 10¹⁵ non raggiunge infatti 2⁵³ − 1 ≈ 9,007 × 10¹⁵, mentre 19! lo supera. Superato quel limite i fattoriali restano rappresentabili esattamente in doppia precisione fino a 22!, perché ciascuno contiene molti fattori due; 23! è il primo che viene arrotondato. I fattoriali maggiori si mostrano di norma in notazione scientifica.
Fonti
- NIST Digital Library of Mathematical Functions (DLMF), §5.1 Gamma Function: Factorial Function. dlmf.nist.gov.
- Rosen KH. Discrete Mathematics and Its Applications. 8th ed. McGraw-Hill, 2018. (Factorials and combinatorics.)
- Graham RL, Knuth DE, Patashnik O. Concrete Mathematics. 2nd ed. Addison-Wesley, 1994. (Legendre's formula for factors in n!.)