Factorial Calculator
Calcule o fatorial de qualquer número inteiro não negativo. n! = n × (n-1) × … × 2 × 1. Calculadora matemática online grátis com resultados passo a passo.
<section class="content-section">
<h2>Entendendo Fatoriais</h2>
<p>O fatorial de um número inteiro não negativo n, escrito n!, é o produto de todos os inteiros positivos de 1 a n. A definição: <strong>n! = n × (n−1) × (n−2) × ... × 2 × 1</strong>. Caso especial: <strong>0! = 1</strong> por definição (não cálculo) — isso é necessário para que as fórmulas combinatórias funcionem de forma consistente.</p>
<p>Os fatoriais crescem extraordinariamente rápido — mais rápido que qualquer polinômio ou até mesmo a maioria das funções exponenciais. 5! = 120; 10! = 3.628.800; 15! = 1.307.674.368.000; 20! ≈ 2,43 × 10^18; 100! ≈ 9,33 × 10^157. O número 170! é aproximadamente 7,26 × 10^306, que é o maior fatorial representável como um número de ponto flutuante de 64 bits (precisão dupla). Nossa calculadora usa aritmética BigInt para resultados inteiros exatos até 170!</p>
<p>A definição recursiva de fatorial é: n! = n × (n−1)! para n > 0, com 0! = 1 como caso base. Essa estrutura recursiva faz do fatorial um exemplo introdutório clássico em ciência da computação para ensinar recursão, programação dinâmica e memoização. O cálculo de fatorial via iteração também é padrão: inicialize o resultado = 1, depois multiplique por cada inteiro de 2 a n.</p>
<p>A notação "n!" foi introduzida por Christian Kramp em 1808 como uma abreviação conveniente para o produto frequentemente recorrente 1 × 2 × 3 × ... × n. Antes disso, várias outras notações eram usadas. Hoje, n! é universalmente reconhecido em todas as tradições matemáticas.</p>
</section>
<section class="content-section">
<h2>Fatoriais em Combinatória e Probabilidade</h2>
<p>O fatorial é a pedra angular da combinatória — o ramo da matemática que lida com contagem, arranjos e seleções. Praticamente todo problema de contagem em probabilidade e estatística envolve, em última análise, fatoriais.</p>
<p><strong>Permutações (arranjos ordenados):</strong> O número de maneiras de arranjar n objetos distintos em uma fila é n! — chamado de permutações fatoriais de n. Com 4 livros em uma estante: 4! = 24 arranjos. Com 10 corredores em uma corrida, o número de ordenações possíveis para 1º, 2º e 3º lugar é P(10,3) = 10!/(10−3)! = 10!/7! = 720.</p>
<p>A fórmula de permutação parcial: P(n,r) = n!/(n−r)! conta seleções ordenadas de r itens de n. A fórmula de permutações totais n! é o caso especial r = n.</p>
<p><strong>Combinações (seleções não ordenadas):</strong> C(n,r) = n!/(r!(n−r)!), também escrito como ⁿCᵣ ou "n escolhe r" ou como o coeficiente binomial. Isso conta o número de maneiras de selecionar r itens de n onde a ordem não importa. De 52 cartas, o número de mãos de 5 cartas = C(52,5) = 52!/(5!×47!) = 2.598.960. A probabilidade de receber um royal flush = 4/2.598.960 ≈ 0,000154%.</p>
<p><strong>Coeficientes multinomiais:</strong> n!/(n₁! × n₂! × ... × nₖ!) conta arranjos de n itens onde n₁ são do tipo 1, n₂ do tipo 2, etc. Arranjando as letras em MISSISSIPPI: 11!/(1!×4!×4!×2!) = 34.650 arranjos distintos.</p>
<table>
<thead><tr><th>Fórmula</th><th>Expressão</th><th>Exemplo</th></tr></thead>
<tbody>
<tr><td>n! (todos os arranjos)</td><td>n × (n−1) × ... × 1</td><td>5! = 120</td></tr>
<tr><td>P(n,r) permutações</td><td>n! / (n−r)!</td><td>P(10,3) = 720</td></tr>
<tr><td>C(n,r) combinações</td><td>n! / (r!(n−r)!)</td><td>C(10,3) = 120</td></tr>
<tr><td>Multinomial</td><td>n! / (n₁! n₂! ... nₖ!)</td><td>MISS: 4!/(1!3!) = 4</td></tr>
</tbody>
</table>
</section>
<section class="content-section">
<h2>A Tabela Fatorial: n! para n = 0 a 20</h2>
<p>Aqui está a tabela fatorial completa para pequenos valores de n. Memorizar os primeiros 10 fatoriais é útil para cálculos rápidos de combinatória mental.</p>
<table>
<thead><tr><th>n</th><th>n!</th><th>Aproximado</th></tr></thead>
<tbody>
<tr><td>0</td><td>1</td><td>1</td></tr>
<tr><td>1</td><td>1</td><td>1</td></tr>
<tr><td>2</td><td>2</td><td>2</td></tr>
<tr><td>3</td><td>6</td><td>6</td></tr>
<tr><td>4</td><td>24</td><td>24</td></tr>
<tr><td>5</td><td>120</td><td>120</td></tr>
<tr><td>6</td><td>720</td><td>720</td></tr>
<tr><td>7</td><td>5.040</td><td>5 mil</td></tr>
<tr><td>8</td><td>40.320</td><td>40 mil</td></tr>
<tr><td>9</td><td>362.880</td><td>363 mil</td></tr>
<tr><td>10</td><td>3.628.800</td><td>3,6 milhões</td></tr>
<tr><td>12</td><td>479.001.600</td><td>479 milhões</td></tr>
<tr><td>15</td><td>1.307.674.368.000</td><td>1,3 trilhões</td></tr>
<tr><td>20</td><td>2.432.902.008.176.640.000</td><td>2,4 × 10^18</td></tr>
</tbody>
</table>
<p>O crescimento explosivo é impressionante: de 10! = 3,6 milhões para 20! = 2,4 quintilhões em apenas 10 passos. Esse rápido crescimento é o motivo pelo qual o fatorial aparece nos denominadores das séries de Taylor (garantindo a convergência) e nos fatores de normalização das distribuições de probabilidade.</p>
</section>
<section class="content-section">
<h2>A Aproximação de Stirling e Grandes Fatoriais</h2>
<p>Para grandes n, calcular fatoriais exatos é impraticável — 100! tem 158 dígitos. <strong>A aproximação de Stirling</strong> fornece uma excelente estimativa: n! ≈ √(2πn) × (n/e)^n, onde e ≈ 2,71828 é o número de Euler.</p>
<p>Precisão da aproximação de Stirling: para n=10, exato = 3.628.800; Stirling dá ≈ 3.598.696, um erro de menos de 1%. Para n=100, o erro relativo é inferior a 0,1%. Quanto maior o n, mais precisa se torna a aproximação — o erro relativo da aproximação é O(1/n).</p>
<p>O log-fatorial ln(n!) = Σ ln(k) para k=1 a n (soma dos logaritmos) é computacionalmente importante. Em estatísticas e aprendizado de máquina, log-probabilidades são usadas em vez de probabilidades brutas para evitar subfluxo numérico (multiplicar muitos números pequenos rapidamente subfluxa para 0 em aritmética de ponto flutuante). A função log-gama estende isso para argumentos não inteiros.</p>
<p>A <strong>função Gama</strong> Γ(n) é a extensão contínua do fatorial para todos os números complexos, exceto inteiros não positivos: Γ(n) = (n−1)! para inteiros positivos. Isso aparece em distribuições de probabilidade (distribuição Gama, distribuição Qui-quadrado, distribuição Beta) e em muitas fórmulas de física. Algumas calculadoras podem calcular Γ(1,5) = √π/2 ≈ 0,886 — o "fatorial" de 0,5.</p>
</section>
<section class="content-section">
<h2>Fatoriais em Distribuições de Probabilidade</h2>
<p>Muitas das distribuições de probabilidade mais importantes em estatísticas usam fatoriais em suas fórmulas, conectando a combinatória pura à análise de dados do mundo real.</p>
<p><strong>Distribuição binomial:</strong> P(X = k) = C(n,k) × p^k × (1−p)^(n−k). Modela o número de sucessos em n ensaios independentes com probabilidade p cada. C(n,k) = n!/(k!(n−k)!) é o coeficiente combinatório. A soma sobre todos os k desses termos é igual a 1 (probabilidade total).</p>
<p><strong>Distribuição de Poisson:</strong> P(X = k) = (λ^k × e^(−λ)) / k!. Modela o número de eventos raros ocorrendo em um intervalo fixo quando a taxa média é λ. O k! no denominador normaliza a distribuição. Usado para: chegadas em hospitais por hora, sinistros de seguros por dia, mutações por replicação de genoma.</p>
<p><strong>Distribuição normal</strong> e a aproximação de Stirling estão profundamente conectadas. O Teorema do Limite Central — que somas de variáveis aleatórias independentes se aproximam de uma distribuição normal — pode ser provado usando a aproximação de Stirling de n!. Essa conexão entre os mundos discreto (fatorial) e contínuo (distribuição normal) é um dos resultados mais profundos da teoria da probabilidade.</p>
<p><strong>Problema do aniversário:</strong> A probabilidade de que todas as 23 pessoas em uma sala tenham aniversários diferentes = 365!/(365−23)! ÷ 365^23 ≈ 49,3%. Portanto, há mais de 50% de chance de que pelo menos duas compartilhem um aniversário — um famoso resultado contra-intuitivo que usa permutações parciais.</p>
</section>
<section class="content-section">
<h2>Fatorial em Teoria dos Números: Zeros Finais e Teorema de Wilson</h2>
<p>O fatorial interage ricamente com a teoria dos números primos, produzindo resultados elegantes sobre divisibilidade e detecção de primos.</p>
<p><strong>Zeros finais em n!:</strong> O número de zeros finais em n! é igual ao número de fatores de 10, que é igual ao número de fatores de 5 (já que fatores de 2 são sempre mais abundantes). A fórmula: contagem = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ... (soma enquanto a potência de 5 ≤ n). Para 100!: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24 zeros finais.</p>
<p><strong>Fórmula de Legendre:</strong> A maior potência do primo p dividindo n! é ⌊n/p⌋ + ⌊n/p²⌋ + ⌊n/p³⌋ + ... Isso informa a exata fatoração prima de n!, que é essencial em teoria dos números e combinatória.</p>
<p><strong>Teorema de Wilson:</strong> Um inteiro p > 1 é primo se e somente se (p−1)! ≡ −1 (mod p). Para p=5: 4! = 24 ≡ 4 ≡ −1 (mod 5) ✓. Para p=6 (composto): 5! = 120 ≡ 0 (mod 6) ✗. Embora o teorema de Wilson seja bonito teoricamente, é computacionalmente impraticável para números grandes, pois calcular (p−1)! é exponencialmente caro.</p>
<p><strong>Primos fatoriais:</strong> Um primo fatorial é um primo da forma n! + 1 ou n! − 1. Exemplos: 2! − 1 = 1 (não primo), 3! − 1 = 5 (primo), 3! + 1 = 7 (primo), 4! − 1 = 23 (primo). Encontrar grandes primos fatoriais é uma área de pesquisa ativa em teoria dos números recreativa e computacional.</p>
</section>
<section class="content-section">
<h2>Como Usar Esta Calculadora Fatorial</h2>
<p>Insira um número inteiro não negativo n (de 0 a 170) e clique em Calcular. A calculadora retorna o valor fatorial exato como um número inteiro completo usando BigInt do JavaScript para valores grandes, evitando a imprecisão de ponto flutuante que corromperia os resultados para n ≥ 19.</p>
<p><strong>Notas:</strong></p>
<ul>
<li>A entrada deve ser um número inteiro não negativo. A calculadora trunca a entrada decimal para o número inteiro mais próximo.</li>
<li>Máximo n = 170 para cálculo exato (170! ≈ 7,26 × 10^306, dentro do alcance de precisão dupla para exibição).</li>
<li>Para n = 0, o resultado é 1 (por definição).</li>
<li>Para fatoriais muito grandes (n > 100), o resultado é um número com 150+ dígitos — exibido na íntegra por nossa implementação BigInt.</li>
<li>Para aplicações que exigem ln(n!), use a identidade: ln(n!) = Σ ln(k) para k=1 a n.</li>
</ul>
</section>
<section class="content-section faq-section">
<h2>Perguntas Frequentes</h2>
<details>
<summary>Por que 0! = 1?</summary>
<p>Por definição e convenção matemática: 0! = 1 garante que as fórmulas combinatórias funcionem de forma consistente. C(n,0) = n!/(0! × n!) = 1, significando que há exatamente 1 maneira de escolher 0 itens (não fazer nada). Sem essa definição, toda fórmula usando C(n,0) precisaria de um caso especial. A convenção do produto vazio (produto de zero termos = 1) fornece a mesma justificativa.</p>
</details>
<details>
<summary>Qual é o fatorial de um número negativo?</summary>
<p>Fatorial é indefinido para inteiros negativos. A relação recursiva n! = n × (n−1)! daria 0! = 1/(−1)! = 0! em n=0, mas 0! = 1, e (−1)! seria 1/(0!) = 1, e (−2)! = 1/((−1)×(−1)!) = indefinido (divisão por zero em n=0). A função Gama estende o fatorial para números reais positivos, mas tem polos (singularidades indefinidas) em todos os inteiros não positivos.</p>
</details>
<details>
<summary>Quantos zeros há no final de 100!?</summary>
<p>24 zeros finais. Conte fatores de 5: ⌊100/5⌋ + ⌊100/25⌋ = 20 + 4 = 24. (Não há termo ⌊100/125⌋ já que 125 > 100.) Como fatores de 2 sempre superam fatores de 5, o número de zeros finais é igual à contagem de 5s na fatoração prima de n!.</p>
</details>
<details>
<summary>Qual é o maior fatorial que uma calculadora pode calcular?</summary>
<p>Calculadoras padrão de ponto flutuante atingem o máximo em torno de 170! (≈ 7,26 × 10^306, dentro do alcance de precisão dupla IEEE 754). Além de 170!, ponto flutuante dá Infinito. Nossa calculadora usa JavaScript BigInt para cálculo inteiro exato até 170!, exibindo a string de dígitos completa sem qualquer aproximação.</p>
</details>
<details>
<summary>Como os fatoriais são usados em probabilidade?</summary>
<p>Fatoriais fundamentam permutações P(n,r) = n!/(n−r)! e combinações C(n,r) = n!/(r!(n−r)!). Estes contam o número de maneiras de arranjar ou selecionar itens, formando a base dos cálculos de probabilidade. Eles aparecem na distribuição binomial, distribuição de Poisson e muitas outras fórmulas estatísticas.</p>
</details>
<details>
<summary>O que é a aproximação de Stirling?</summary>
<p>A aproximação de Stirling: n! ≈ √(2πn) × (n/e)^n. Para n=10: exato = 3.628.800; Stirling dá ≈ 3.598.696 (erro <1%). Para n=100: erro <0,1%. A forma log: ln(n!) ≈ n×ln(n) − n + ½×ln(2πn) é inestimável em estatísticas para trabalhar com log-probabilidades sem calcular enormes fatoriais.</p>
</details>
<details>
<summary>Qual é a conexão entre fatorial e a função Gama?</summary>
<p>A função Gama Γ(n) satisfaz Γ(n) = (n−1)! para inteiros positivos. Isso estende o fatorial para todos os números complexos (exceto inteiros não positivos). Γ(1/2) = √π ≈ 1,7725, então podemos dizer que (−1/2)! = √π por convenção. A função Gama aparece em distribuições de probabilidade (Gama, Beta, Qui-quadrado), processamento de sinais e mecânica quântica.</p>
</details>
<details>
<summary>Como o fatorial se relaciona com o triângulo de Pascal?</summary>
<p>Cada entrada no triângulo de Pascal é um coeficiente binomial C(n,r) = n!/(r!(n−r)!). A linha n do triângulo de Pascal contém C(n,0), C(n,1), ..., C(n,n). Cada entrada é a soma das duas entradas acima dela (regra de Pascal: C(n,r) = C(n−1,r−1) + C(n−1,r)), o que pode ser verificado a partir da fórmula fatorial. O triângulo de Pascal codifica a contagem combinatória usando fatoriais.</p>
</details>
<details>
<summary>O que é o teorema de Wilson?</summary>
<p>O teorema de Wilson: p é primo se e somente se (p−1)! ≡ −1 (mod p). Para p=7: 6! = 720 = 102×7 + 6 ≡ 6 ≡ −1 (mod 7) ✓. Para p=8 (composto): 7! = 5040 = 630×8 + 0 ≡ 0 ≢ −1 (mod 8) ✓. Bonito teoricamente, mas impraticável para teste de primalidade, pois calcular (p−1)! para grandes p é computacionalmente proibitivo.</p>
</details>
<details>
<summary>O que n! representa no número de arranjos?</summary>
<p>n! é o número de maneiras distintas de arranjar n itens únicos em uma linha (uma permutação). Com 3 itens {A, B, C}: 3! = 6 arranjos: ABC, ACB, BAC, BCA, CAB, CBA. Com 10 itens: 10! = 3.628.800 arranjos — mais de 3 milhões de ordenações de apenas 10 coisas. Com 52 cartas: 52! ≈ 8 × 10^67, um número astronomicamente grande que demonstra por que baralhos embaralhados nunca estão na mesma ordem duas vezes na história.</p>
</details>
</section>
<section class="content-section">
<h2>Fatoriais em Ciência da Computação: Algoritmos e Complexidade</h2>
<p>O fatorial está intimamente ligado à teoria da complexidade computacional — o estudo de quão difíceis são os problemas para serem resolvidos algoritmicamente. Entender o fatorial ajuda a explicar por que certos problemas são "difíceis" em um sentido matemático preciso.</p>
<p>O <strong>Problema do Caixeiro Viajante (TSP)</strong> pergunta: dado n cidades e distâncias entre cada par, encontre a rota mais curta visitando todas as cidades exatamente uma vez. Uma abordagem ingênua de força bruta verifica todas as ordenações possíveis: (n−1)!/2 rotas (dividindo por 2 para simetria, fixando a cidade de partida). Para n=20 cidades: 19!/2 ≈ 6 × 10^16 rotas. Mesmo a 1 trilhão de rotas/segundo, isso levaria mais de 60.000 anos. Essa explosão fatorial é o motivo pelo qual TSP é "NP-difícil" e por que algoritmos heurísticos (em vez de soluções exatas) são usados na prática para instâncias grandes.</p>
<p>O <strong>problema de ordenação</strong> também tem conexões fatoriais: n! é o número de ordenações possíveis de n elementos. Um algoritmo de ordenação baseado em comparação ideal deve distinguir entre todos os casos n!, exigindo pelo menos log₂(n!) comparações. Pela aproximação de Stirling, log₂(n!) ≈ n×log₂(n), que é o motivo pelo qual o mínimo teórico de comparações para ordenação é O(n log n) — alcançado por ordenação por mesclagem e ordenação por heap.</p>
<p>Em <strong>programação dinâmica</strong>, subproblemas fatoriais podem ser memorizados: uma vez que você calcula k!, você pode obter (k+1)! = (k+1) × k! sem recomputar do zero. Isso reduz o custo de calcular todos os fatoriais de 1 a n de O(n²) para O(n), uma otimização chave em aplicações que exigem muitos valores fatoriais, como geração de tabelas de probabilidade.</p>
</section>
<section class="related-section">
<h2>Calculadoras Relacionadas</h2>
<ul class="related-grid">
<li><a href="/percentage-calculator/">Calculadora de Porcentagem</a></li>
<li><a href="/fraction-calculator/">Calculadora de Frações</a></li>
<li><a href="/square-root-calculator/">Calculadora de Raiz Quadrada</a></li>
<li><a href="/standard-deviation-calculator/">Calculadora de Desvio Padrão</a></li>
<li><a href="/scientific-notation-calculator/">Calculadora de Notação Científica</a></li>
</ul>
</section>