Compute exact factorials (n!), double factorials (n!!), total digit counts, trailing zero counts, and Stirling approximations using BigInt.
Click "Calculate" to compute factorial.
A software engineer calculates total possible permutations of a 16-element array: 16! equals 20,922,789,888,000 orderings. A statistical physicist modeling gas molecules evaluates combinations of 10²³ particles using Stirling's approximation: ln(n!) ≈ n ln(n) - n. A poker player computes total 5-card dealing combinations from a 52-card deck using combinations formulas built on factorials: 52! / (5! × 47!) = 2,598,960.
A factorial is a mathematical function that multiplies a positive integer n by every positive integer less than itself. Denoted by an exclamation mark (n!), the formula is n! = n × (n - 1) × (n - 2) × ... × 2 × 1. By convention, 0! = 1.
Factorials grow extremely fast—a property called combinatorial explosion. While 5! is a modest 120, 10! is 3,628,800, and 70! exceeds 10¹⁰⁰ (a googol). Standard 64-bit floating-point numbers overflow into Infinity above 170!. This calculator uses JavaScript's BigInt data type to compute exact 1000-digit factorials in milliseconds. The following sections explain the underlying algorithms, Legendre's trailing zero formula, and practical applications in computer science and statistics.
When you click "Calculate," the engine routes inputs based on the selected mode: BigInt integer multiplication for exact factorials, odd/even loop stepping for double factorials, or Stirling's log approximation for massive numbers.
1. Single Factorial (n!):
Using BigInt iteration:
let res = 1n; for (let i = 2n; i <= n; i++) res *= i;
2. Trailing Zeros (Legendre's Formula):
Trailing zeros in n! are produced by factors of 10 (2 × 5). Since factors of 2 are abundant, counting prime factors of 5 gives the exact trailing zero count:
Z = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... + ⌊n/5ᵏ⌋
3. Double Factorial (n!!):
Multiplies every second integer:
For odd n: n!! = n × (n-2) × (n-4) × ... × 1
For even n: n!! = n × (n-2) × (n-4) × ... × 2
4. Stirling's Asymptotic Approximation:
For very large n where exact calculation would consume gigabytes of memory:
ln(n!) ≈ n × ln(n) - n + ½ × ln(2πn)
The total digit count of n! is ⌊log₁₀(n!)⌋ + 1 = ⌊ln(n!) / ln(10)⌋ + 1.
Combinatorics and permutations. Probability theorists calculate possible arrangements of objects using P(n, r) = n! / (n - r)! and C(n, r) = n! / (r! × (n - r)!).
Algorithm analysis and O(n!) complexity. Computer scientists evaluate worst-case performance of brute-force algorithms like the Traveling Salesperson Problem, where route evaluations scale as O(n!).
Statistical mechanics and thermodynamics. Physicists calculate entropy using Boltzmann's entropy formula S = k_B × ln(W), where W represents microstate micro-configurations evaluated via Stirling's approximation.
Taylor series expansions. Calculus students expand functions like eˣ, sin(x), and cos(x) using infinite polynomial series with factorial denominators: eˣ = ∑ (xⁿ / n!).
Use Mode 1 for exact integer outputs up to 1000!. BigInt guarantees 100% precision with zero rounding errors.
Use Mode 3 (Stirling's Approximation) for massive values like 100,000! or 1,000,000!. It computes scientific notation (e.g. 10^456,570) instantly without locking your browser.
For evaluating powers and exponents alongside factorials, pair this tool with our Exponent Calculator. For logarithmic series, use our Logarithm Calculator.
The calculation engine runs locally in JavaScript using BigInt specifications. Factorial 1000! (containing 2,568 digits) evaluates in under 30 milliseconds.
| Feature | This Tool | Hand Multiplication | Standard Float Math.pow |
|---|---|---|---|
| Max Exact n | n = 1000 (2,568 digits) | n = 10 practical | n = 170 (170! = 7.25×10³⁰⁶) |
| Precision | 100% Exact (BigInt) | 100% Exact | 15-17 significant digits |
| Trailing Zeros | Legendre's Formula | Manual 5-factor count | Not listed |
| Execution Time | <30ms for 1000! | Hours | <1ms |
| Privacy | Client-side browser | Paper | Local device |
| Cost | Free | Free | License required |
Setting 0! = 1 aligns with the empty product rule (the product of no numbers is 1) and ensures permutation formulas nPr = n! / (n - r)! work when n = r.
100! contains exactly 158 digits and ends with 24 trailing zeros.
Single factorial n! multiplies all integers down to 1. Double factorial n!! skips every second integer (multiplying only odds or only evens).
Exponent Calculator — Computes powers (xⁿ), negative exponents, and BigInt integer powers.
Logarithm Calculator — Calculates common log, natural log (ln), and change-of-base formulas.
Scientific Calculator — Evaluates complex mathematical expressions with trig, log, and factorial keys.