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.
| Formula | Espressione | Esempio |
|---|---|---|
| n! (tutte le disposizioni) | n × (n−1) × ... × 1 | 5! = 120 |
| P(n,r) permutazioni | n! / (n−r)! | P(10,3) = 720 |
| C(n,r) combinazioni | n! / (r!(n−r)!) | C(10,3) = 120 |
| Multinomiale | n! / (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.
| n | n! | Approssimativo |
|---|---|---|
| 0 | 1 | 1 |
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 6 | 6 |
| 4 | 24 | 24 |
| 5 | 120 | 120 |
| 6 | 720 | 720 |
| 7 | 5.040 | 5.000 |
| 8 | 40.320 | 40.000 |
| 9 | 362.880 | 363.000 |
| 10 | 3.628.800 | 3,6 milioni |
| 12 | 479.001.600 | 479 milioni |
| 15 | 1.307.674.368.000 | 1,3 trilioni |
| 20 | 2.432.902.008.176.640.000 | 2,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:
- L'input deve essere un intero non negativo. Il calcolatore tronca l'input decimale al numero intero più vicino.
- Massimo n = 170 per la calcolazione esatta (170! ≈ 7,26 × 10^306, appena entro il range di precisione a doppio punto per la visualizzazione).
- Per n = 0, il risultato è 1 (per definizione).
- Per grandi fattoriali (n > 100), il risultato è un numero con 150+ cifre — visualizzato in pieno dalla nostra implementazione BigInt.
- Per applicazioni che richiedono ln(n!), utilizza l'identità: ln(n!) = Σ ln(k) per k=1 a n.
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à.