Entendendo a velocidade de crescimento dos fatoriais
O crescimento fatorial supera rapidamente o crescimento exponencial, como mostra a tabela de valores exatos e aproximados abaixo.
| n | n! | Ordem de grandeza aprox. |
|---|---|---|
| 0 | 1 | 1 |
| 5 | 120 | 1,2 × 10² |
| 10 | 3.628.800 | 3,6 × 10⁶ |
| 15 | 1.307.674.368.000 | 1,3 × 10¹² |
| 18 | 6.402.373.705.728.000 | 6,4 × 10¹⁵ |
| 20 | 2.432.902.008.176.640.000 | 2,4 × 10¹⁸ |
- 18! (≈6,40 × 10¹⁵) é o maior fatorial que fica abaixo do limite de inteiro seguro, já que o Number.MAX_SAFE_INTEGER do JavaScript é 2⁵³ − 1 ≈ 9,007 × 10¹⁵; por isso esta calculadora só exibe valor exato até n = 18. Além desse limite, os fatoriais continuam representáveis com exatidão em dupla precisão até 22!, porque cada um carrega muitos fatores de dois, e 23! é o primeiro que sofre arredondamento.
- De n = 19 a n = 170, apenas a aproximação em notação científica (e ln(n!)) é exibida, pois o inteiro exato exigiria mais precisão do que a aritmética de ponto flutuante padrão oferece sem uma biblioteca de inteiros longos.
- Acima de n = 170, n! ultrapassa o maior valor representável em ponto flutuante de dupla precisão (cerca de 1,8 × 10³⁰⁸) e estoura para infinito, motivo pelo qual esta calculadora limita n a 170.
O que é um fatorial?
O fatorial de um inteiro não negativo n, denotado n!, é definido como o produto de todos os inteiros positivos de 1 até n: n! = n × (n − 1) × (n − 2) × ... × 2 × 1. Por exemplo, 5! = 5 × 4 × 3 × 2 × 1 = 120. Por definição, 0! = 1 (um produto vazio, o elemento neutro da multiplicação), convenção padrão em toda a análise combinatória.
Os fatoriais crescem de forma extremamente rápida — muito mais rápido que funções exponenciais de n. 10! = 3.628.800, ao passo que 20! já ultrapassa 2,4 quintilhões (2,43 × 10¹⁸), mais do que o número de segundos decorridos desde o Big Bang. É esse crescimento explosivo que leva os fatoriais a serem exibidos em notação científica para n maiores, e que torna impraticável mostrar valores inteiros exatos além de certo ponto.
Os fatoriais são a base da análise combinatória: eles contam de quantas formas n objetos distintos podem ser ordenados (permutações) e aparecem nos denominadores da fórmula do coeficiente binomial, usada para contar seleções sem ordem (combinações). Também surgem na teoria das probabilidades, no cálculo (coeficientes de séries de Taylor) e em inúmeras identidades combinatórias em forma fechada.
Como usar esta calculadora de fatorial
- Informe um número inteiro n entre 0 e 170 (170! fica perto do maior fatorial que os números de ponto flutuante de dupla precisão conseguem representar antes de estourar para infinito).
- Leia o resultado em notação científica, que é sempre exibido, independentemente do tamanho de n.
- Para n ≤ 18, o valor inteiro exato de n! também aparece, já que fatoriais maiores ultrapassam a faixa de inteiros representáveis com exatidão na aritmética de dupla precisão (2⁵³ ≈ 9,007 × 10¹⁵).
- Confira o logaritmo natural de n! (útil para trabalhar com fatoriais muito grandes sem estouro) e a quantidade de zeros finais na representação decimal exata de n!.
Como se calculam fatoriais, zeros finais e ln(n!)
A relação recursiva que define o fatorial é n! = n × (n − 1)!, com o caso base 0! = 1. Exemplo resolvido: 5! = 5 × 4! = 5 × 4 × 3! = 5 × 4 × 3 × 2! = 5 × 4 × 3 × 2 × 1! = 5 × 4 × 3 × 2 × 1 × 0! = 120 × 1 = 120.
Para n grande, o logaritmo natural ln(n!) é calculado como a soma Σ ln(k) para k de 2 a n, o que evita o estouro que ocorreria ao multiplicar o fatorial bruto diretamente. A notação científica sai então dessa soma pelo logaritmo de base 10: log₁₀(n!) = ln(n!) ÷ ln(10), com a parte inteira dando o expoente e a parte fracionária (convertida de volta com 10^x) dando a mantissa.
O número de zeros finais em n! é igual à quantidade de vezes que 10 divide n! exatamente, o que — como 10 = 2 × 5 e os fatores 2 são sempre mais abundantes que os fatores 5 num fatorial — se reduz a contar fatores 5 pela fórmula de Legendre: zeros finais = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... Exemplo resolvido para 10!: ⌊10/5⌋ = 2 e ⌊10/25⌋ = 0, portanto 10! tem 2 zeros finais — confirmado por 10! = 3.628.800.
Erros comuns
- Esquecer que 0! = 1, e não 0 — trata-se de uma convenção matemática padrão (o produto vazio vale 1), essencial para que as fórmulas combinatórias funcionem em seus casos de fronteira.
- Supor que fatoriais podem ser calculados exatamente para qualquer n na aritmética padrão — acima de n = 22, os valores inteiros exatos ultrapassam o que o ponto flutuante de dupla precisão representa sem arredondar.
- Confundir n! (fatorial) com nⁿ (n elevado a n) — o fatorial multiplica uma sequência decrescente de inteiros até 1, ao passo que a potenciação multiplica n por si mesmo n vezes; as duas crescem em ritmos diferentes e se separam rapidamente (5! = 120 contra 5⁵ = 3125).
- Informar um número negativo ou não inteiro — nesse sentido elementar, o fatorial só está definido para inteiros não negativos (a função gama estende o conceito a não inteiros, mas é uma fórmula separada e mais avançada).
Perguntas frequentes
O que é o fatorial de n?
O fatorial de n (n!) é o produto de todos os números inteiros positivos de 1 até n. Por exemplo, 5! = 5 × 4 × 3 × 2 × 1 = 120. Por definição, 0! = 1.
Por que 0! é igual a 1?
0! é definido como 1 por convenção matemática, representando um “produto vazio” (produto de zero fatores), que por convenção vale o elemento neutro da multiplicação, 1. Essa definição mantém coerentes fórmulas combinatórias como as de permutações e combinações em seus casos de fronteira — afinal, existe exatamente 1 maneira de ordenar zero objetos.
Com que rapidez os fatoriais crescem?
Os fatoriais crescem mais rápido que funções exponenciais de n. 10! é cerca de 3,6 milhões, mas 20! já ultrapassa 2,4 × 10¹⁸ (2,4 quintilhões). É essa taxa superexponencial que leva os fatoriais a aparecerem em notação científica mesmo para n moderados e que faz deles o exemplo clássico de crescimento extremamente rápido na matemática.
Quantos zeros finais tem 100!?
Pela fórmula de Legendre (somando ⌊100/5ⁱ⌋), 100! tem ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 zeros finais. Os zeros finais vêm dos fatores 10 = 2 × 5 do produto e, como os fatores 2 são sempre mais numerosos que os fatores 5 num fatorial, basta contar os fatores 5.
Qual é o maior fatorial que uma calculadora consegue obter com exatidão?
Na aritmética de ponto flutuante de dupla precisão (usada pelo JavaScript e pela maioria das calculadoras), 18! é o maior fatorial que fica abaixo do limite de inteiro seguro, porque 18! ≈ 6,40 × 10¹⁵ fica abaixo de 2⁵³ − 1 ≈ 9,007 × 10¹⁵, ao passo que 19! o ultrapassa. Passado esse limite, os fatoriais continuam representáveis com exatidão em dupla precisão até 22!, já que cada um carrega muitos fatores de dois; 23! é o primeiro que sofre arredondamento. Fatoriais maiores costumam ser exibidos em notação científica.
Referências
- NIST Digital Library of Mathematical Functions (DLMF), §5.1 Gamma Function: Factorial Function. dlmf.nist.gov.
- Rosen KH. Discrete Mathematics and Its Applications. 8th ed. McGraw-Hill, 2018. (Factorials and combinatorics.)
- Graham RL, Knuth DE, Patashnik O. Concrete Mathematics. 2nd ed. Addison-Wesley, 1994. (Legendre's formula for factors in n!.)