Skip to main content
🟢 Beginner

Calcolatore Fattoriale – n!

Calcola il fattoriale di qualsiasi numero intero non negativo. Tabella dei fattoriali fino a 20. Calcolatore matematico online gratuito.

Capire i fattoriali

Il fattoriale di un intero non negativo n, scritto n!, è il prodotto di tutti gli interi positivi da 1 a n. La definizione: n! = n × (n−1) × (n−2) × ... × 2 × 1. Caso speciale: 0! = 1 per definizione (non calcolazione) — questo è richiesto per le formule combinatorie per funzionare coerentemente.

I fattoriali crescono straordinariamente velocemente — più velocemente di qualsiasi polinomio o anche di molte funzioni esponenziali. 5! = 120; 10! = 3.628.800; 15! = 1.307.674.368.000; 20! ≈ 2,43 × 10^18; 100! ≈ 9,33 × 10^157. Il numero 170! è approssimativamente 7,26 × 10^306, che è il più grande fattoriale rappresentabile come un numero a 64 bit (doppia precisione). Il nostro calcolatore utilizza l'aritmetica BigInt per risultati esatti di interi fino a 170!

La definizione ricorsiva del fattoriale è: n! = n × (n−1)! per n > 0, con 0! = 1 come caso base. Questa struttura ricorsiva rende il fattoriale un classico esempio introduttivo nella scienza dei computer per l'insegnamento della ricorsione, programmazione dinamica e memoizzazione. La computazione del fattoriale via iterazione è standard: inizializza risultato = 1, poi moltiplica per ogni intero da 2 a n.

La notazione "n!" è stata introdotta da Christian Kramp nel 1808 come una scorciatoia comoda per il prodotto frequente 1 × 2 × 3 × ... × n. Prima di questo, sono stati utilizzati vari altri simboli. Oggi n! è riconosciuto universalmente in tutte le tradizioni matematiche.

Fattoriali nella combinatoria e nella probabilità

Il fattoriale è la pietra angolare della combinatoria — il ramo della matematica che si occupa del conteggio, delle disposizioni e delle selezioni. Quasi ogni problema di conteggio nella probabilità e nelle statistiche coinvolge fattoriali.

Permutazioni (disposizioni ordinate): Il numero di modi per disporre n oggetti distinti in una riga è n! — chiamate permutazioni n-fattoriale. Con 4 libri su uno scaffale: 4! = 24 disposizioni. Con 10 atleti in una gara, il numero di possibili ordinamenti per 1°, 2° e 3° posto è P(10,3) = 10!/(10−3)! = 10!/7! = 720.

La formula di permutazione parziale: P(n,r) = n!/(n−r)! conta le selezioni ordinate di r oggetti da n. La formula totale di permutazione n! è il caso speciale r = n.

Combinazioni (selezioni disordinate): C(n,r) = n!/(r!(n−r)!), anche scritto ⁿCᵣ o "n scegli r" o come il coefficiente binomiale. Questo conta il numero di modi per selezionare r oggetti da n dove l'ordine non conta. Dai 52 carte, il numero di mani da 5 carte = C(52,5) = 52!/(5!×47!) = 2.598.960. La probabilità di essere distribuito un flush reale = 4/2.598.960 ≈ 0,000154%.

Coefficients multinomiali: n!/(n₁! × n₂! × ... × nₖ!) conta le disposizioni di n oggetti dove n₁ sono del tipo 1, n₂ del tipo 2, ecc. Disporre le lettere in MISSISSIPPI: 11!/(1!×4!×4!×2!) = 34.650 disposizioni distinte.

FormulaEspressioneEsempio
n! (tutte le disposizioni)n × (n−1) × ... × 15! = 120
P(n,r) permutazionin! / (n−r)!P(10,3) = 720
C(n,r) combinazionin! / (r!(n−r)!)C(10,3) = 120
Multinomialen! / (n₁! n₂! ... nₖ!)MISS: 4!/(1!3!) = 4

La tabella dei fattoriali: n! per n = 0 a 20

Ecco la tabella completa dei fattoriali per piccoli valori di n. Memorizzare i primi 10 fattoriali è utile per calcoli combinatori mentali veloci.

nn!Approssimativo
011
111
222
366
42424
5120120
6720720
75.0405.000
840.32040.000
9362.880363.000
103.628.8003,6 milioni
12479.001.600479 milioni
151.307.674.368.0001,3 trilioni
202.432.902.008.176.640.0002,4 × 10^18

La crescita esplosiva è impressionante: da 10! = 3,6 milioni a 20! = 2,4 quintilioni in soli 10 passaggi. Questa rapida crescita è il motivo per cui il fattoriale appare nei denominatori delle serie di Taylor (assicurando la convergenza) e nei fattori di normalizzazione delle distribuzioni di probabilità.

Approssimazione di Stirling e Grandi Fattoriali

Per grandi valori di n, il calcolo dei fattoriali esatti è impraticabile — 100! ha 158 cifre. L'approssimazione di Stirling fornisce un'ottima stima: n! ≈ √(2πn) × (n/e)^n, dove e ≈ 2.71828 è il numero di Eulero.

Accuratezza dell'approssimazione di Stirling: per n=10, esatto = 3.628.800; Stirling dà ≈ 3.598.696, un errore inferiore all'1%. Per n=100, l'errore relativo è inferiore all'0,1%. Man mano che n aumenta, l'approssimazione diventa più precisa — l'errore relativo dell'approssimazione è O(1/n).

La log-fattoriali ln(n!) = Σ ln(k) per k=1 a n (somma di logaritmi) è importante dal punto di vista computazionale. In statistica e apprendimento automatico, si utilizzano log-probabilità al posto delle probabilità raw per evitare l'underflow numerico (moltiplicare molti numeri piccoli insieme si sottofluisce rapidamente a 0 nell'aritmetica a virgola mobile). La log-funzione gamma estende questo a argomenti non interi.

La funzione gamma Γ(n) è l'estensione continua del fattoriale a tutti i numeri complessi eccetto gli interi non positivi: Γ(n) = (n−1)! per interi positivi. Questo compare nelle distribuzioni di probabilità (distribuzione Gamma, distribuzione Chi-quadrata, distribuzione Beta) e molte formule fisiche. Alcuni calcolatori possono calcolare Γ(1,5) = √π/2 ≈ 0,886 — il "fattoriale" di 0,5.

Fattoriali nelle Distribuzioni di Probabilità

Molte delle distribuzioni di probabilità più importanti in statistica utilizzano fattoriali nelle loro formule, collegando la combinatoria pura all'analisi dei dati reali.

Distribuzione binomiale: P(X = k) = C(n,k) × p^k × (1−p)^(n−k). Modella il numero di successi in n prove indipendenti con probabilità p ciascuna. C(n,k) = n!/(k!(n−k)!) è il coefficiente combinatorio. La somma su tutti i k di questi termini è uguale a 1 (probabilità totale).

Distribuzione di Poisson: P(X = k) = (λ^k × e^(−λ)) / k!. Modella il numero di eventi rari che si verificano in un intervallo fisso quando la velocità media è λ. Il k! nel denominatore normalizza la distribuzione. Utilizzato per: arrivi ospedalieri per ora, reclami assicurativi per giorno, mutazioni per replicazione del genoma.

Distribuzione normale e l'approssimazione di Stirling sono profondamente collegate. Il Teorema del limite centrale — che le somme di variabili casuali indipendenti si avvicinano a una distribuzione normale — può essere dimostrato utilizzando l'approssimazione di Stirling del n!. Questa connessione tra il mondo discreto (fattoriale) e il mondo continuo (distribuzione normale) è uno dei risultati più profondi in teoria della probabilità.

Problema del compleanno: La probabilità che tutti i 23 persone in una stanza abbiano compleanni diversi = 365!/(365−23)! ÷ 365^23 ≈ 49,3%. Quindi c'è una probabilità superiore al 50% che almeno due condividano un compleanno — un risultato counterintuitivo famoso che utilizza permutazioni parziali.

Il fattoriale nella teoria dei numeri: zeri finali e il teorema di Wilson

Il fattoriale interagisce in modo ricco con la teoria dei numeri primi, producendo risultati eleganti sulla divisibilità e la detezione dei numeri primi.

Zeri finali in n!: Il numero di zeri finali in n! è uguale al numero di fattori di 10, che è uguale al numero di fattori di 5 (poiché i fattori di 2 sono sempre più abbondanti). La formula: count = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... (somma mentre potenza di 5 ≤ n). Per 100!: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 zeri finali.

Formula di Legendre: La potenza più alta di primo p che divide n! è ⌊n/p⌋ + ⌊n/p²⌋ + ⌊n/p³⌋ + ... Ciò ti dice la fattorizzazione primaria esatta di n!, che è essenziale nella teoria dei numeri e nella combinatoria.

Teorema di Wilson: Un intero p > 1 è primo se e solo se (p−1)! ≡ −1 (mod p). Per p=5: 4! = 24 ≡ 4 ≡ −1 (mod 5) ✓. Per p=6 (composito): 5! = 120 ≡ 0 (mod 6) ✗. Mentre il teorema di Wilson è bello teoricamente, è computazionalmente impraticabile per grandi numeri poiché il calcolo di (p−1)! è espansivo.

Primi fattoriali: Un primo fattoriale è un primo del tipo n! + 1 o n! − 1. Esempi: 2! − 1 = 1 (non primo), 3! − 1 = 5 (primo), 3! + 1 = 7 (primo), 4! − 1 = 23 (primo). La ricerca di grandi primi fattoriali è un'area di ricerca attiva nella teoria dei numeri ricreativa e computazionale.

Come utilizzare questo calcolatore del fattoriale

Inserisci un intero non negativo n (da 0 a 170) e clicca Calcola. Il calcolatore restituisce il valore del fattoriale esatto come intero completo utilizzando JavaScript's BigInt per grandi valori, evitando l'imprecisione dei punti fluttuanti che corromperebbero i risultati per n ≥ 19.

Nota:

Domande frequenti

Perché 0! = 1?

Di definizione e convenzione matematica: 0! = 1 assicura che le formule combinatorie funzionino coerentemente. C(n,0) = n!/(0! × n!) = 1, il che significa che ci sono esattamente 1 modo per scegliere 0 elementi (non fare nulla). Senza questa definizione, ogni formula che utilizza C(n,0) avrebbe bisogno di un caso speciale. La convenzione del prodotto vuoto (prodotto di zero termini = 1) fornisce la stessa motivazione.

Che cos'è il fattoriale di un numero negativo?

Il fattoriale non è definito per interi negativi. La relazione ricorsiva n! = n × (n−1)! darebbe 0! = 1/(−1)! = 0! a n=0, ma 0! = 1, e (−1)! sarebbe 1/(0!) = 1, e (−2)! = 1/((−1)×(−1)!) = indefinito (divisione per zero a n=0). La funzione Gamma estende il fattoriale a numeri reali positivi, ma ha poli (singolarità indefinite) in tutti gli interi non positivi.

Quanti zeri ci sono alla fine di 100!?

24 zeri in coda. Conta i fattori di 5: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24. (Non c'è un termine ⌊100/125⌋ poiché 125 > 100.) Poiché i fattori di 2 superano sempre i fattori di 5, il numero di zeri in coda è uguale al conteggio dei 5 nella fattorizzazione primaria di n!.

Qual è il fattoriale più grande che un calcolatore può calcolare?

Calcolatori di precisione flottante massimo 170! (≈ 7,26 × 10^306, appena all'interno dello spazio di rappresentazione IEEE 754). Al di là di 170!, la precisione flottante dà Infinito. Il nostro calcolatore utilizza BigInt per la computazione esatta di interi fino a 170!, visualizzando la stringa di cifre completa senza alcuna approssimazione.

Come sono utilizzati i fattoriale nella probabilità?

I fattoriale sono alla base delle combinazioni P(n,r) = n!/(n−r)! e delle combinazioni C(n,r) = n!/(r!(n−r)!). Questi contano il numero di modi di disporre o selezionare gli elementi, formando la base delle calcolazioni di probabilità. Appaiono nella distribuzione binomiale, nella distribuzione di Poisson e in molte altre formule statistiche.

Qual è l'approximazione di Stirling?

Approximazione di Stirling: n! ≈ √(2πn) × (n/e)^n. Per n=10: esatto = 3.628.800; Stirling dà ≈ 3.598.696 (errore <1%). Per n=100: errore <0,1%. La forma logaritmo: ln(n!) ≈ n×ln(n) − n + ½×ln(2πn) è inestimabile in statistica per lavorare con log-probabilità senza calcolare enormi fattoriale.

Qual è la connessione tra fattoriale e la funzione Gamma?

La funzione Gamma Γ(n) soddisfa Γ(n) = (n−1)! per interi positivi. Questo estende il fattoriale a tutti i numeri complessi (eccetto gli interi non positivi). Γ(1/2) = √π ≈ 1,7725, quindi possiamo dire (−1/2)! = √π per convenzione. La funzione Gamma appare nelle distribuzioni di probabilità (Gamma, Beta, Chi-quadrato), nel trattamento del segnale e nella meccanica quantistica.

Come il fattoriale si relaziona al triangolo di Pascal?

Ogni elemento nel triangolo di Pascal è un coefficiente binomiale C(n,r) = n!/(r!(n−r)!). La riga n del triangolo di Pascal contiene C(n,0), C(n,1), ..., C(n,n). Ogni elemento è la somma degli elementi sopra di esso (regola di Pascal: C(n,r) = C(n−1,r−1) + C(n−1,r)), che può essere verificato dalla formula del fattoriale. Il triangolo di Pascal codifica il conteggio combinatorio utilizzando fattoriale.

Qual è il teorema di Wilson?

Teorema di Wilson: p è primo se e solo se (p−1)! ≡ −1 (mod p). Per p=7: 6! = 720 = 102×7 + 6 ≡ 6 ≡ −1 (mod 7) ✓. Per p=8 (composito): 7! = 5040 = 630×8 + 0 ≡ 0 ≢ −1 (mod 8) ✓. Bello teoricamente, ma impraticabile per il test di primalità poiché il calcolo di (p−1)! per grandi p è computazionalmente proibitivo.

Cosa rappresenta n! nel numero di disposizioni?

n! è il numero di modi distinti per disporre n oggetti unici in una riga (una permutazione). Con 3 oggetti {A, B, C}: 3! = 6 disposizioni: ABC, ACB, BAC, BCA, CAB, CBA. Con 10 oggetti: 10! = 3.628.800 disposizioni — oltre 3 milioni di ordinamenti di solo 10 cose. Con 52 carte: 52! ≈ 8 × 10^67, un numero astronomico enorme che dimostra perché le carte mescolate sono praticamente mai nella stessa posizione due volte nella storia.

Le funzioni factorial nella scienza dei computer: algoritmi e complessità

Il fattoriale è strettamente connesso alla teoria della complessità computazionale — lo studio di come sono difficili da risolvere i problemi algoritmici. La comprensione del fattoriale aiuta a spiegare perché certi problemi sono "difficili" in un senso matematico preciso.

Il Problema del Venditore Viaggiante (TSP) chiede: date n città e le distanze tra ogni coppia, trovare la rotta più breve che visita tutte le città esattamente una volta. Un approccio di forza bruta ingenuo controlla tutti gli ordini possibili: (n−1)!/2 rotte (dividendo per 2 per la simmetria, fissando la città di partenza). Per n=20 città: 19!/2 ≈ 6 × 10^16 rotte. Anche a 1 trilione di rotte/secondo, ciò richiederebbe 60.000+ anni. Questa esplosione del fattoriale è il motivo per cui TSP è "NP-difficile" e perché gli algoritmi heuristici (invece di soluzioni esatte) sono utilizzati nella pratica per grandi istanze.

Il problema di ordinamento ha anche connessioni con il fattoriale: n! è il numero di possibili ordinamenti di n elementi. Un algoritmo di ordinamento ottimale basato su confronti deve distinguere tra tutti i casi n!, richiedendo almeno log₂(n!) confronti. Con l'approssimazione di Stirling, log₂(n!) ≈ n×log₂(n), il che spiega perché il minimo teorico di confronti per l'ordinamento è O(n log n) — raggiunto da merge sort e heap sort.

In programmazione dinamica, i sottoproblemi factorial possono essere memorizzati: una volta calcolato k!, si può ottenere (k+1)! = (k+1) × k! senza ricomputare da zero. Ciò riduce il costo del calcolo di tutti i fattoriale da 1 a n da O(n²) a O(n), un'ottimizzazione chiave nelle applicazioni che richiedono molti valori factorial come la generazione di tabelle di probabilità.