Calculadora de Fatorial
Intervalo: 0 a 170 (limite do JavaScript)
📊 Resultado
📝 Cálculo passo a passo:
🎨 Árvore visual de multiplicação
🎯 Permutações e combinações
🔄 Permutações P(n,r)
💡 A ordem importa: ABC ≠ BAC
🎲 Combinações C(n,r)
💡 A ordem não importa: ABC = BAC
📋 Tabela de referência de fatoriais
| n | n! | Dígitos | Exemplo do mundo real |
|---|
💡 Curiosidades
🃏 Embaralhar cartas
52! ≈ 8,07 × 10⁶⁷ arranjos possíveis. Se cada pessoa na Terra embaralhasse um baralho por segundo desde o Big Bang, mal arranharíamos a superfície!
🎭 Lugares no teatro
10 pessoas podem ser sentadas de 10! = 3.628.800 maneiras diferentes. A logística torna-se exponencialmente mais complexa!
📊 0! = 1
Por definição, 0! = 1. Existe exatamente uma forma de organizar zero objetos: não fazer nada! Isso mantém as fórmulas consistentes.
🚀 Taxa de crescimento
O fatorial cresce mais rápido que o exponencial! Enquanto 2ⁿ dobra, n! multiplica por valores cada vez maiores. 100! tem 158 dígitos!
Calculadora de Fatorial - Calcule n! com passos
🔢 Calcule o fatorial (n!) de qualquer número de 0 a 170. Veja o passo a passo, permutações, combinações e aplicações no mundo real.
O que é um fatorial?
O fatorial de um inteiro não negativo n, denotado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. Ele representa o número de formas de organizar n objetos distintos.
Fórmula do fatorial
n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1
- 0! = 1 (por definição)
- 1! = 1
- n! = n × (n-1)! (definição recursiva)
Exemplos de fatorial
- 5! = 5 × 4 × 3 × 2 × 1 = 120
- 10! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 = 3.628.800
- 0! = 1 (caso especial)
- 20! = 2.432.902.008.176.640.000
Por que 0! = 1?
Existe exatamente uma forma de organizar zero objetos: o arranjo vazio. Essa definição garante que as fórmulas matemáticas (especialmente na combinatória) funcionem corretamente. Também é consistente com a fórmula recursiva: n! = n × (n-1)!, então 1! = 1 × 0! implica que 0! deve ser 1.
Permutações
P(n,r) = n!/(n-r)!
Número de maneiras de organizar r objetos a partir de n objetos distintos, onde a ordem importa.
- Exemplo: P(5,3) = 5!/(5-3)! = 120/2 = 60
- Uso: posições no pódio de uma corrida (1º, 2º, 3º)
Combinações
C(n,r) = n!/(r!(n-r)!)
Número de maneiras de escolher r objetos dentre n objetos distintos, onde a ordem não importa.
- Exemplo: C(5,3) = 5!/(3!×2!) = 120/(6×2) = 10
- Uso: números de loteria, seleção de comitês
Zeros à direita em n!
Zeros à direita são criados por fatores de 10 = 2 × 5. Como há mais fatores 2 do que 5, basta contar os fatores 5:
Zeros = ⌊n/5⌋ + ⌊n/25⌋ + ⌊n/125⌋ + ...
- 10! tem 2 zeros à direita
- 25! tem 6 zeros à direita
- 100! tem 24 zeros à direita
Aplicações no mundo real
- Criptografia: número de chaves possíveis
- Agendamento: maneiras de organizar compromissos, tarefas e eventos
- Genética: sequências possíveis de DNA/proteínas
- Probabilidade: cálculo de chances em jogos e loterias
- Ciência da computação: análise de complexidade de algoritmos
- Manufatura: arranjos de linha de produção
- Logística: problemas de otimização de rotas
Valores famosos de fatorial
- 52! ≈ 8,07 × 10⁶⁷ (embaralhamento de cartas)
- 70! ≈ 1,2 × 10¹⁰⁰ (excede átomos no universo ≈ 10⁸⁰)
- 100! ≈ 9,3 × 10¹⁵⁷ (158 dígitos!)
- 170! ≈ 7,3 × 10³⁰⁶ (máximo do JavaScript)
Aproximação de Stirling
Para n grande, calcular fatoriais exatos é impraticável. A aproximação de Stirling fornece:
n! ≈ √(2πn) × (n/e)ⁿ
Essa aproximação fica mais precisa conforme n aumenta. Para n = 10, o erro é < 1%.
Taxa de crescimento do fatorial
O fatorial cresce muito mais rápido do que funções exponenciais ou polinomiais:
- Polinomial: n² = 100 para n=10
- Exponencial: 2ⁿ = 1.024 para n=10
- Fatorial: n! = 3.628.800 para n=10
Fatorial duplo
O fatorial duplo (n!!) multiplica números alternados:
- n!! = n × (n-2) × (n-4) × ... × 2 ou 1
- 7!! = 7 × 5 × 3 × 1 = 105
- 8!! = 8 × 6 × 4 × 2 = 384
Subfatorial (desarranjos)
O subfatorial !n conta permutações em que nenhum elemento fica na posição original:
!n = n! × (1/0! - 1/1! + 1/2! - 1/3! + ... + (-1)ⁿ/n!)
Exemplo: !3 = 2 (arranjos de ABC sem letras na posição original: BCA, CAB)
Implementação em programação
Abordagem iterativa:
function factorial(n) {
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}
Abordagem recursiva:
function factorial(n) {
if (n === 0 || n === 1) return 1;
return n * factorial(n - 1);
}
💡 Dica: Ao calcular permutações ou combinações, cancele fatores comuns antes de computar, para evitar overflow. Para C(100,2) = 100!/(2!×98!), calcule (100×99)/2 = 4.950 em vez de calcular os fatoriais enormes separadamente!
Comentários (0)
Compartilhe sua opinião — por favor, seja educado e mantenha-se no tema.
Faça login para comentar