Calculator de factorial
Interval: 0–170 (limită JavaScript)
📊 Rezultat
📝 Calcul pas cu pas:
🎨 Arbore vizual de înmulțire
🎯 Permutări și combinații
🔄 Permutări P(n,r)
💡 Ordinea contează: ABC ≠ BAC
🎲 Combinații C(n,r)
💡 Ordinea nu contează: ABC = BAC
📋 Tabel de referință al factorialelor
| n | n! | Cifre | Exemplu din viața reală |
|---|
💡 Lucruri interesante
🃏 Amestecarea cărților
52! ≈ 8,07 × 10⁶⁷ aranjamente posibile. Dacă fiecare persoană de pe Pământ ar amesteca un pachet pe secundă de la Big Bang, abia am atinge suprafața!
🎭 Locuri la teatru
10 persoane pot fi așezate în 10! = 3.628.800 moduri diferite. Logistica devine exponențial mai complexă!
📊 0! = 1
Prin definiție, 0! = 1. Există exact o singură modalitate de a aranja zero obiecte: să nu faci nimic! Asta face ca formulele matematice să fie consecvente.
🚀 Rata de creștere
Factorialul crește mai repede decât o funcție exponențială! În timp ce 2ⁿ se dublează, n! se înmulțește cu valori din ce în ce mai mari. 100! are 158 de cifre!
Calculator de factorial - Calculează n! cu pași
🔢 Calculează factorialul (n!) pentru orice număr între 0 și 170. Vezi explicația pas cu pas, permutări, combinații și aplicații din lumea reală.
Ce este un factorial?
Factorialul unui număr întreg nenegativ n, notat n!, este produsul tuturor numerelor întregi pozitive mai mici sau egale cu n. Reprezintă numărul de moduri de a aranja n obiecte distincte.
Formula factorialului
n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1
- 0! = 1 (prin definiție)
- 1! = 1
- n! = n × (n-1)! (definiție recursivă)
Exemple de factorial
- 5! = 5 × 4 × 3 × 2 × 1 = 120
- 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3.628.800
- 0! = 1 (caz special)
- 20! = 2.432.902.008.176.640.000
De ce 0! = 1?
Există exact un mod de a aranja zero obiecte: aranjamentul gol. Această definiție asigură că formulele matematice (în special în combinatorică) funcționează corect. Este, de asemenea, consecventă cu formula recursivă: n! = n × (n-1)!, deci 1! = 1 × 0! înseamnă că 0! trebuie să fie 1.
Permutări
P(n,r) = n!/(n-r)!
Numărul de moduri de a aranja r obiecte din n obiecte distincte, când ordinea contează.
- Exemplu: P(5,3) = 5!/(5-3)! = 120/2 = 60
- Utilizare: locurile pe podium într-o cursă (1, 2, 3)
Combinații
C(n,r) = n!/(r!(n-r)!)
Numărul de moduri de a alege r obiecte din n obiecte distincte, când ordinea nu contează.
- Exemplu: C(5,3) = 5!/(3!×2!) = 120/(6×2) = 10
- Utilizare: numere la loterie, selecție de comitet
Zerouri la final în n!
Zerourile la final sunt create de factorii de 10 = 2 × 5. Deoarece există mai mulți factori de 2 decât de 5, trebuie doar să numărăm factorii de 5:
Zerouri = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ...
- 10! are 2 zerouri la final
- 25! are 6 zerouri la final
- 100! are 24 zerouri la final
Aplicații în lumea reală
- Criptografie: numărul de chei posibile
- Programare: moduri de a organiza întâlniri, sarcini, evenimente
- Genetică: secvențe posibile de ADN/proteine
- Probabilitate: calculul șanselor în jocuri, loterii
- Informatică: analiza complexității algoritmilor
- Producție: aranjamente în linia de producție
- Logistică: probleme de optimizare a rutelor
Valori celebre ale factorialului
- 52! ≈ 8,07 × 10⁶⁷ (aranjamente la amestecarea cărților)
- 70! ≈ 1,2 × 10¹⁰⁰ (depășește atomii din univers ≈ 10⁸⁰)
- 100! ≈ 9,3 × 10¹⁵⁷ (158 de cifre!)
- 170! ≈ 7,3 × 10³⁰⁶ (maximul în JavaScript)
Aproximația lui Stirling
Pentru n mare, calculul factorialelor exacte este nepractic. Aproximația lui Stirling oferă:
n! ≈ √(2πn) × (n/e)ⁿ
Această aproximație devine mai precisă pe măsură ce n crește. Pentru n = 10, eroarea este < 1%.
Rata de creștere a factorialului
Factorialul crește mult mai repede decât funcțiile exponențiale sau polinomiale:
- Polinomial: n² = 100 pentru n=10
- Exponențial: 2ⁿ = 1.024 pentru n=10
- Factorial: n! = 3.628.800 pentru n=10
Factorial dublu
Factorialul dublu (n!!) înmulțește din doi în doi:
- n!! = n × (n-2) × (n-4) × ... × 2 sau 1
- 7!! = 7 × 5 × 3 × 1 = 105
- 8!! = 8 × 6 × 4 × 2 = 384
Subfactorial (deranjamente)
Subfactorialul !n numără permutările în care niciun element nu rămâne pe poziția inițială:
!n = n! × (1/0! - 1/1! + 1/2! - 1/3! + ... + (-1)ⁿ/n!)
Exemplu: !3 = 2 (aranjamente pentru ABC fără litere pe poziția originală: BCA, CAB)
Implementare în programare
Abordare iterativă:
function factorial(n) {
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}
Abordare recursivă:
function factorial(n) {
if (n === 0 || n === 1) return 1;
return n * factorial(n - 1);
}
💡 Sfat: Când calculezi permutări sau combinații, simplifică factorii comuni înainte de a calcula pentru a evita overflow. Pentru C(100,2) = 100!/(2!×98!), calculează (100×99)/2 = 4.950 în loc să calculezi factorialele uriașe separat!
Comentarii (0)
Împărtășește-ți opinia — te rugăm să fii politicos și să rămâi la subiect.
Autentifică-te pentru a comenta