Faktoriális Kalkulátor
Tartomány: 0–170 (JavaScript korlát)
📊 Eredmény
📝 Lépésről lépésre számítás:
🎨 Vizuális szorzási fa
🎯 Permutációk és kombinációk
🔄 Permutációk P(n,r)
💡 A sorrend számít: ABC ≠ BAC
🎲 Kombinációk C(n,r)
💡 A sorrend nem számít: ABC = BAC
📋 Faktoriális táblázat
| n | n! | Számjegyek | Valós példa |
|---|
💡 Érdekességek
🃏 Kártyakeverés
52! ≈ 8.07 × 10⁶⁷ lehetséges sorrend. Ha a Földön minden ember a Nagy Bumm óta másodpercenként megkeverne egy paklit, alig érintenénk a lehetőségek felszínét!
🎭 Színházi ültetés
10 ember 10! = 3,628,800 különböző módon ültethető le. A szervezés exponenciálisan bonyolulttá válik!
📊 0! = 1
Definíció szerint 0! = 1. Pontosan egy módja van nullát rendezni: nem csinálni semmit! Ez biztosítja a képletek következetességét.
🚀 Növekedési ütem
A faktoriális gyorsabban nő, mint az exponenciális! Míg a 2ⁿ dupláz, az n! egyre nagyobb számokkal szoroz. A 100! 158 számjegyű!
Faktoriális Kalkulátor - Számítsd ki az n!-t lépésekkel
🔢 Számítsd ki a faktoriálist (n!) bármely számra 0 és 170 között. Nézd meg a lépésről lépésre bontást, a permutációkat, kombinációkat és a valós alkalmazásokat.
Mi az a faktoriális?
Egy nemnegatív egész n faktoriálisa, jelölése n!, az n-nél kisebb vagy egyenlő pozitív egészek szorzata. Azt mutatja meg, hányféleképpen rendezhetünk el n különböző objektumot.
Faktoriális képlet
n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1
- 0! = 1 (definíció szerint)
- 1! = 1
- n! = n × (n-1)! (rekurzív definíció)
Faktoriális példák
- 5! = 5 × 4 × 3 × 2 × 1 = 120
- 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3,628,800
- 0! = 1 (speciális eset)
- 20! = 2,432,902,008,176,640,000
Miért 0! = 1?
Pontosan egy módja van nulla objektum rendezésének: az üres rendezés. Ez a definíció biztosítja, hogy a matematikai képletek (különösen a kombinatorikában) helyesen működjenek. Összhangban van a rekurzív képlettel is: n! = n × (n-1)!, így 1! = 1 × 0! miatt 0! = 1.
Permutációk
P(n,r) = n!/(n-r)!
Annak száma, hányféleképpen rendezhetünk el r objektumot n különböző objektumból, amikor a sorrend számít.
- Példa: P(5,3) = 5!/(5-3)! = 120/2 = 60
- Felhasználás: dobogós helyezések (1., 2., 3.)
Kombinációk
C(n,r) = n!/(r!(n-r)!)
Annak száma, hányféleképpen választhatunk ki r objektumot n különböző objektumból, amikor a sorrend nem számít.
- Példa: C(5,3) = 5!/(3!×2!) = 120/(6×2) = 10
- Felhasználás: lottószámok, bizottsági kiválasztás
Záró nullák az n!-ban
A záró nullákat a 10 = 2 × 5 tényezők adják. Mivel 2-ből mindig több van, mint 5-ből, elég az 5-ös tényezők számát számolni:
Nullák = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ...
- 10! 2 záró nullát tartalmaz
- 25! 6 záró nullát tartalmaz
- 100! 24 záró nullát tartalmaz
Valós alkalmazások
- Kriptográfia: lehetséges titkosítási kulcsok száma
- Ütemezés: találkozók, feladatok, események elrendezése
- Genetika: lehetséges DNS/fehérje szekvenciák
- Valószínűség: esélyek számítása játékokban, lottóban
- Számítástechnika: algoritmusok bonyolultságelemzése
- Gyártás: gyártósor-elrendezések
- Logisztika: útvonaloptimalizálási problémák
Híres faktoriális értékek
- 52! ≈ 8.07 × 10⁶⁷ (kártyapakli keverése)
- 70! ≈ 1.2 × 10¹⁰⁰ (meghaladja a világegyetem atomjainak számát ≈ 10⁸⁰)
- 100! ≈ 9.3 × 10¹⁵⁷ (158 számjegy!)
- 170! ≈ 7.3 × 10³⁰⁶ (JavaScript maximum)
Stirling-közelítés
Nagy n esetén a pontos faktoriális kiszámítása nem praktikus. A Stirling-közelítés:
n! ≈ √(2πn) × (n/e)ⁿ
A közelítés pontossága n növekedésével javul. n = 10 esetén a hiba < 1%.
Faktoriális növekedési ütem
A faktoriális sokkal gyorsabban nő, mint az exponenciális vagy polinomiális függvények:
- Polinomiális: n² = 100 n=10 esetén
- Exponenciális: 2ⁿ = 1,024 n=10 esetén
- Faktoriális: n! = 3,628,800 n=10 esetén
Kettős faktoriális
A kettős faktoriális (n!!) minden második számot szoroz:
- n!! = n × (n-2) × (n-4) × ... × 2 vagy 1
- 7!! = 7 × 5 × 3 × 1 = 105
- 8!! = 8 × 6 × 4 × 2 = 384
Szubfaktoriális (derangements)
A szubfaktoriális !n azokat a permutációkat számolja, ahol semmi sem marad az eredeti helyén:
!n = n! × (1/0! - 1/1! + 1/2! - 1/3! + ... + (-1)ⁿ/n!)
Példa: !3 = 2 (ABC olyan rendezései, ahol nincs fixpont: BCA, CAB)
Programozási megvalósítás
Iteratív megközelítés:
function factorial(n) {
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}
Rekurzív megközelítés:
function factorial(n) {
if (n === 0 || n === 1) return 1;
return n * factorial(n - 1);
}
💡 Tipp: Permutációk/kombinációk számításakor egyszerűsítsd a közös tényezőket a túlcsordulás elkerüléséhez. C(100,2) = 100!/(2!×98!) esetén számold: (100×99)/2 = 4,950 a hatalmas faktoriálisok külön kiszámítása helyett!
Hozzászólások (0)
Oszd meg a véleményed — kérjük, légy udvarias és maradj a témánál.
Jelentkezz be a hozzászóláshoz