Dev Tools

Fatorial

Calcule n! para números inteiros não negativos.

Fatorial

Calcule n! para inteiros de 0 a 170 e use o resultado em problemas de permutação, combinação, probabilidade e análise de algoritmos.

Use apenas números inteiros positivos ou zero. O limite 170 evita overflow no JavaScript.

O resultado é recalculado automaticamente quando o valor muda.

{{ factorialCalc.message }}

O que significa n!

Fatorial é o produto de todos os inteiros positivos de 1 até n. Por exemplo, 5! = 5 × 4 × 3 × 2 × 1 = 120. Por convenção matemática, 0! = 1.

Quando usar

Use fatorial para contar ordenações possíveis, montar fórmulas de combinação, estimar espaços de busca e entender complexidade O(n!) em algoritmos de força bruta.

Exemplos rápidos

  • 3! = 6 formas de ordenar 3 itens diferentes.
  • 10! = 3.628.800 sequências possíveis para 10 elementos.
  • Combinação: C(n,k) usa n!, k! e (n-k)! para contar escolhas sem ordem.
  • Probabilidade: embaralhamentos, senhas e sorteios crescem muito rápido quando n aumenta.

Como usar Fatorial

O conceito de fatorial aparece pela primeira vez em fontes matemáticas indianas do século VI d.C., nas obras do astrônomo Varāhamihira, que usava permutações de ingredientes em contextos práticos. No Ocidente, o matemático britânico Fabian Stedman registrou, em 1677, a relação entre fatorial e permutações no contexto do change ringing — a troca ordenada de sinos em torres de igrejas inglesas, uma arte musical coletiva onde o objetivo era soar cada possível sequência de n sinos exatamente uma vez. O símbolo n! foi introduzido pelo matemático francês Christian Kramp em 1808, uma escolha de notação que se tornou padrão universal. A definição formal inclui 0! = 1 — resultado que parece contraintuitivo mas é consistente: há exatamente uma maneira de organizar zero objetos, que é não fazer nada. Leonhard Euler generalizou o fatorial para números não inteiros com a função Gamma (Γ), definida em 1729: Γ(n) = (n-1)! para inteiros positivos, mas válida para qualquer número complexo exceto inteiros negativos.

O fatorial aparece em praticamente toda área da matemática combinatória. Permutações: o número de maneiras de ordenar n objetos distintos é n!. Combinações: C(n,k) = n! / (k! × (n-k)!) — a fórmula por trás do triângulo de Pascal e do binômio de Newton. Probabilidade: um baralho de 52 cartas pode ser embaralhado de 52! ≈ 8,07 × 10^67 maneiras distintas — um número tão grande que é estatisticamente improvável que dois baralhos já tenham sido embaralhados na mesma ordem em toda a história da humanidade. Em análise de algoritmos, o fatorial aparece na complexidade O(n!), que descreve algoritmos de força bruta para o Problema do Caixeiro Viajante e outros problemas NP-difíceis.

O problema computacional do fatorial é instrutivo: os valores crescem tão rápido que ultrapassam a capacidade do tipo double de ponto flutuante (IEEE 754, 64 bits) em 171! — por isso esta ferramenta limita o cálculo a n ≤ 170, onde 170! ≈ 7,26 × 10^306 ainda cabe em um double. A Fórmula de Stirling (1730), desenvolvida por James Stirling, fornece uma excelente aproximação logarítmica especialmente útil em análise teórica quando o fatorial aparece dentro de expressões mais complexas. Para valores maiores, linguagens como Python oferecem inteiros de precisão arbitrária e calculam 1000! exatamente — um número com 2.568 dígitos — sem nenhum overflow. Se você precisa apenas do resultado rápido de um n! específico, insira o valor e obtenha o resultado e sua notação científica imediatamente.

Exemplo

5! = 120

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Continue nas Dev Tools

Ferramentas relacionadas para acelerar tarefas comuns de desenvolvimento.