Mais jogos no WuGames.ioPatrocinadoDescubra jogos de navegador grátis — jogue na hora, sem download nem cadastro.Jogar

Calculadora de Combinatória

Calculadora de combinatória para nPr, nCr, n!. Suporte BigInt, probabilidades de loteria, triângulo de Pascal, repetição.

Calcule permutações, combinações e fatoriais com aritmética de precisão arbitrária que lida com valores de milhares de dígitos sem overflow.

O que é Combinatória?

Combinatória é o ramo da matemática que conta arranjos e seleções de coleções finitas. Os três blocos básicos — fatorial, permutação e combinação — respondem juntos quase toda pergunta do tipo "de quantas maneiras...?", de contagens de mãos de pôquer e probabilidades de loteria a tempos de execução de algoritmos e a estrutura do código genético. Cada um é calculado a partir dos outros por expressões curtas com fatoriais, então uma única calculadora cobre todo o campo.

Permutação (nPr)

Uma permutação é um arranjo em que a ordem importa. O número de maneiras ordenadas de escolher r itens entre n distintos é nPr = n! / (n − r)!. Equivalentemente: você tem n escolhas para o primeiro slot, n−1 para o segundo, ..., n−r+1 para o r-ésimo — um produto de r inteiros decrescentes começando em n.

nPr = n! / (n - r)!

Exemplo: arranjar 3 letras escolhidas de {A, B, C, D} dá 4P3 = 4!/1! = 24 trios ordenados (ABC, ABD, ACB, ACD, ...). Caso real comum: de quantas maneiras 5 cavalos podem terminar nas 3 primeiras colocações de uma corrida? Resposta: 5P3 = 60.

Combinação (nCr)

Uma combinação é uma seleção em que a ordem não importa. O número de maneiras de escolher r itens entre n é nCr = n! / (r! × (n − r)!). Também é escrita C(n,r) ou "n escolhe r" e é igual a nPr dividido por r! — o r! remove os reordenamentos entre os itens escolhidos.

nCr = n! / (r! × (n - r)!)

Exemplo: escolher 3 letras de {A, B, C, D} dá 4C3 = 4 seleções ({A,B,C}, {A,B,D}, {A,C,D}, {B,C,D}). Caso real: uma loteria escolhendo 6 números entre 49 tem 49C6 = 13.983.816 bilhetes possíveis, então a chance de ganhar o prêmio principal com um único bilhete é de aproximadamente 1 em 14 milhões.

Fatorial (n!)

O fatorial de n é o produto de todos os inteiros positivos até n: n! = 1 × 2 × 3 × ... × n, com a convenção 0! = 1 (o produto vazio). Conta o número de ordenações de n itens distintos e aparece como o bloco básico tanto de nPr quanto de nCr.

n! = n × (n - 1) × (n - 2) × ... × 2 × 1

Fatoriais crescem mais rapidamente que qualquer polinômio ou exponencial simples. 10! = 3.628.800, 20! = 2.432.902.008.176.640.000, e 70! ≈ 1,2 × 10¹⁰⁰. Acima de 170!, doubles IEEE-754 dão overflow — esta calculadora usa BigInt, então o valor exato é preservado para qualquer entrada que você puder esperar.

Aplicações da Combinatória

A combinatória tem amplas aplicações em vários campos:

  • Probabilidade & Estatística: contagens de mãos de pôquer, paradoxo do aniversário, amostragem sem reposição
  • Ciência da Computação: contagem de caminhos, complexidade de algoritmos, probabilidade de colisão de hash, códigos corretores de erros
  • Criptografia: tamanho do espaço de chaves, força de senhas, viabilidade de força bruta
  • Teoria dos Jogos: contagem de estados, análise de jogada ótima, avaliação de árvores de decisão
  • Biologia e Química: combinações genéticas, isômeros moleculares, estruturas secundárias de RNA
  • Pesquisa Operacional: agendamento, roteamento, empacotamento, chaveamento de torneios

Perguntas Frequentes

Regra única: a ordem importa? Se sim, use permutação. Se não, use combinação. A permutação conta arranjos: posições 1º/2º/3º em uma corrida, as três primeiras letras de uma senha, a ordem dos discursos numa conferência. A combinação conta seleções: quais 5 cartas estão na sua mão de pôquer, quais 3 pessoas estão num comitê, quais 6 números ganham na loteria. A relação é nPr = nCr × r! — cada combinação de r itens tem r! ordenações, e a permutação conta todas. Exemplo: escolher 2 letras de {A,B,C,D}. Combinações: {A,B}, {A,C}, {A,D}, {B,C}, {B,D}, {C,D} = 6. Permutações: também AB e BA, AC e CA, ... então 12. nP2 = 4!/2! = 12; nC2 = 4!/(2!·2!) = 6. Repare que 12 = 6 × 2! = 6 × 2. Em dúvida, escreva um exemplo pequeno à mão para verificar se AB e BA contam como iguais ou diferentes no seu problema.

Porque escolher quais r itens incluir é matematicamente idêntico a escolher quais n−r itens deixar de fora. Cada seleção de r itens especifica unicamente um conjunto complementar de n−r descartados, e vice-versa, então as duas contagens precisam ser iguais. Para 10 pessoas escolhendo um comitê de 3, C(10,3) = 120. Equivalentemente, você está escolhendo as 7 pessoas que não estarão no comitê, e C(10,7) = 120 — mesmo número. Essa simetria também aparece na fórmula: C(n,r) = n!/(r!(n−r)!) não muda se você trocar r por n−r. A implicação prática é computacional: para calcular C(100, 97), não faça um loop de 97 — calcule C(100, 3), mesmo valor com 3 multiplicações. O triângulo de Pascal exibe essa simetria como o espelho esquerda-direita de cada linha, e o teorema binomial (a+b)^n = Σ C(n,k) a^(n−k) b^k usa a simetria para expressar qualquer expansão na menor das duas formas equivalentes.

O triângulo de Pascal é o arranjo de coeficientes binomiais disposto de modo que cada linha n contém C(n,0), C(n,1), ..., C(n,n). A linha 0 é só 1; a linha 1 é 1 1; a linha 2 é 1 2 1; a linha 3 é 1 3 3 1; e assim por diante. O padrão é gerado pela recorrência C(n,k) = C(n−1, k−1) + C(n−1, k) — cada entrada interna é a soma das duas acima. Raciocínio combinatório: para escolher k itens entre n, ou o n-ésimo item está incluído (e então escolha k−1 dos n−1 restantes) ou está excluído (e então escolha k dos n−1 restantes). O triângulo foi estudado independentemente em várias culturas — China (Yang Hui, 1261), Pérsia (Al-Karaji, c. 1000), Índia (comentário de Halayudha sobre Pingala, c. 950) e França (Blaise Pascal, 1654) — e aparece em todo lugar, do teorema binomial a fractais (o triângulo de Sierpinski é Pascal mod 2), aos números de Catalan e à sequência de Fibonacci (somas de diagonais rasas).

Repetição vira as fórmulas do avesso. Com repetição permitida, o número de arranjos ordenados de r itens entre n escolhas é n^r — para cada um dos r slots, você escolhe independentemente qualquer um dos n itens. Exemplo: um PIN de 4 dígitos sobre 10 dígitos = 10^4 = 10.000. O número de seleções não ordenadas com repetição ("multiconjuntos") é C(n + r − 1, r) — a fórmula "estrelas e barras". Exemplo: distribuir 5 doces idênticos entre 3 crianças é C(5+3−1, 5) = C(7,5) = 21. Sem repetição, valem o nPr e nCr padrões. Matriz rápida de decisão: ordem importa + repetição → n^r; ordem importa + sem repetição → nPr; ordem não importa + sem repetição → nCr; ordem não importa + repetição → C(n+r−1, r). Confundir esses quatro casos é a fonte mais comum de erros de probabilidade em provas e entrevistas de programação.

Numa sala de apenas 23 pessoas, a probabilidade de ao menos duas compartilharem aniversário ultrapassa 50%; com 70 pessoas, ultrapassa 99,9%. Isso choca a maioria porque a intuição espera que sejam necessárias 365/2 ≈ 180 pessoas. O truque é que não perguntamos "alguém compartilha meu aniversário" (precisaria de ~180 pessoas) mas "algum par na sala compartilha?" — e o número de pares cresce quadraticamente como C(n,2). Com 23 pessoas há 253 pares, cada um com chance ~1/365 de coincidir, dando aproximadamente 253/365 ≈ 69% — perto do valor exato. O cálculo exato funciona com o complemento: P(todos distintos) = 365/365 × 364/365 × 363/365 × ... × (365−n+1)/365, e P(pelo menos uma coincidência) = 1 − P(todos distintos). Essa mesma estrutura combinatória é a razão pela qual colisões de hash aparecem após aproximadamente √N hashes em hashes de N bits (um ataque chamado ataque de aniversário em criptografia), e por que o MD5 (128 bits) não é mais considerado resistente a colisões a 2^64 ≈ 18 quintilhões de amostras.

A maioria das loterias escolhe um pequeno conjunto de números a partir de um conjunto maior. A chance de acertar todos é 1 sobre o número de sorteios possíveis, que é uma combinação porque a ordem não importa. Lotto 6/49 (Canadá, Espanha): C(49,6) = 13.983.816 — cerca de 1 em 14 milhões. Powerball (EUA): escolha 5 entre 69 bolas brancas e 1 entre 26 vermelhas, então C(69,5) × 26 = 11.238.513 × 26 = 292.201.338 — cerca de 1 em 292 milhões. EuroMillions: C(50,5) × C(12,2) = 139.838.160. A chance de ganhar algum prêmio é muito melhor porque a maioria das loterias paga prêmios menores por acertos parciais (por exemplo, 3 números de 6). Para o Lotto 6/49, a chance de acertar exatamente 3 de 6 números é C(6,3) × C(43,3) / C(49,6) ≈ 1 em 57. A razão pela qual a vantagem da casa é tão grande não é a probabilidade do prêmio principal, mas o pool de prêmios: loterias típicas devolvem só 50–60% da receita como prêmios, e o resto vai para operação, impostos e causas sociais.

C(n, 0) é 1 porque há exatamente uma maneira de não escolher nada — a seleção vazia. Faz sentido intuitivamente e também é forçado pela fórmula: C(n, 0) = n! / (0! × n!) = 1, com 0! = 1 por convenção. C(n, n) é 1 porque há exatamente uma maneira de escolher tudo — o conjunto completo. A fórmula dá C(n, n) = n! / (n! × 0!) = 1. Esses casos limite importam para o teorema binomial: (1 + x)^n = Σ C(n, k) x^k inclui um termo constante (k = 0, coeficiente C(n,0) = 1) e um termo principal (k = n, coeficiente C(n,n) = 1). Também combinam com a simetria C(n, k) = C(n, n−k) — escolher 0 para incluir é o mesmo que escolher todos os n para excluir. Ambos os extremos de cada linha do triângulo de Pascal são 1, e as somas das linhas são iguais a 2^n porque esse é o número total de subconjuntos de um conjunto de n elementos.

Esta calculadora usa BigInt para precisão arbitrária, então não há limite fixo — só limites práticos. O gargalo é multiplicar inteiros muito grandes, o que o BigInt faz em aproximadamente O((dígitos)^1,58) com o algoritmo de Karatsuba. Para fatoriais: 100! tem 158 dígitos e é calculado em milissegundos; 1000! tem 2568 dígitos e leva uma fração de segundo; 100000! tem 456.574 dígitos e leva alguns segundos; 1.000.000! tem 5.565.709 dígitos e pode levar um ou dois minutos e várias centenas de MB de memória. Para combinações e permutações, o resultado normalmente é muito menor que n! por causa dos cancelamentos na fórmula, então C(1000, 5) = 8,25 × 10¹² é instantâneo mesmo com 1000! sendo enorme. Para fins estatísticos, a aproximação de Stirling log(n!) ≈ n ln(n) − n + 0,5 ln(2πn) dá o log de qualquer fatorial em O(1) — útil para cálculos de entropia, log-verossimilhanças e métricas informacionais quando você não precisa de cada dígito.
Calculadora de Combinatória — Calculadora de combinatória para nPr, nCr, n!. Suporte BigInt, probabilidades de loteria, triângulo de Pascal, repetição
Calculadora de Combinatória