Formula Da Permutação Com Repetição - Permutação com repetição: fórmula, como calcular - Brasil Escola
Permutação com repetição: fórmula, como calcular - Brasil Escola

Permutação com repetição é mais simples do que a maioria das pessoas acha

A gente começa pelo cálculo direto, porque é assim que funciona na prática. Você tem um conjunto de n objetos onde existem grupos de itens repetidos. Para achar o número de arranjos distintos, você divide o fatorial de n pelo produto dos fatoriais de cada grupo de repetição. A fórmula fica assim: P = n! / (n! · n! · · · n!), onde n é o total de elementos e n, n até n são as quantidades de cada tipo repetido.

Entendendo a lógica por trás da fórmula da permutação com repetição

O erro que todo mundo comete é tratar os itens repetidos como se fossem diferentes quando na verdade não são. Se você tem a palavra MATEMÁTICA, que tem 10 letras, e calcula 10! sem considerar repetições, vai chegar em 3.628.800. O número real é bem menor porque as letras que se repetem não geram arranjos novos quando são trocadas entre si. Em MATEMÁTICA, o A aparece 3 vezes, o T aparece 2 vezes, o E aparece 2 vezes, e o M, I e C aparecem 1 vez cada. A conta correta é 10! dividido por (3! · 2! · 2!). O resultado é 151.200 arranjos distintos. Os três fatoriais no denominador eliminam exatamente as permutações falsas geradas pelas repetições.

Essa é a parte que os livros costumam pular: o porquê do denominador existir. Se você trocar dois A's de lugar, o arranjo continua sendo o mesmo. São 3! formas de rearranjar os A's internamente que não produzem nada novo. O mesmo vale para os dois T's e os dois E's. Por isso dividimos por cada um desses fatoriais.

Um problema real que eu encontrei

Eu precisei calcular permutações com repetição pra montar senhas corporativas num projeto antigo. O cenário era uma senha de 8 caracteres usando os dígitos 1, 2, 2, 3, 3, 3, 4, 5. Três vezes o 3, duas vezes o 2, e o 1, 4 e 5 aparecendo uma vez cada. A conta direta daria 8! / (3! · 2!), que é 33.600 senhas possíveis. O problema veio quando o cliente pediu pra restringir: os dois dígitos 2 não podiam ficar adjacentes. Aí a fórmula padrão não resolve sozinha. O que eu fiz foi calcular o total (33.600) e subtrair os casos proibidos. Pra contar os casos onde os dois 2 estão juntos, eu tratei o par "22" como uma única unidade. Aí sobraram 7 elementos pra permutar: (22), 1, 3, 3, 3, 4, 5. Como os três 3 ainda se repetem, o cálculo ficou 7! / 3! = 840. Subtraindo, o resultado válido foi 33.600 - 840 = 32.760 senhas que atendiam ao requisito.

Esse tipo de restrição de adjacência aparece o tempo todo em problemas reais e a solução sempre passa por calcular o total e subtrair os casos que violam a regra. Não tem outro jeito limpo.

Pegadinhas que ninguém te avisa

A primeira é confundir permutação com repetição com combinação com repetição. São coisas completamente diferentes. Na permutação, a ordem importa. Se você tem as letras A, A, B, o arranjo AAB é diferente de ABA. Na combinação com repetição, a ordem não importa e a fórmula é C = (n+k-1)! / (k! · (n-1)!). Confundir essas duas é o erro mais comum em provas e no dia a dia. A segunda pegadinha é mais sutil e custa caro quando você não vê. Suponha que você esteja trabalhando com dados genéticos e tenha que contar arranjos de alelos onde dois "iguais" na verdade vêm de linhagens diferentes. A fórmula divide pelos fatoriais das repetições, mas se houver uma diferença biológica relevante entre aqueles itens aparentemente idênticos, o resultado fica errado. Já vi isso acontecer em modelagem estatística porque alguém assumiu simetria onde não existia.

👉 Clique no botão abaixo para saber mais sobre o assunto!

A terceira coisa é o caso de todos os itens serem iguais. Se você tem n objetos todos idênticos, a resposta é sempre 1. Parece óbvio, mas em problemas maiores isso é útil como caso base pra validar se seu código ou planilha está funcionando.

Quando a fórmula não serve mais

O fatorial cresce rápido demais. Se você tiver mais de 20 elementos na prática, o cálculo vira um pesadelo computacional sem ferramentas adequadas. Fatoriais grandes podem estourar a precisão de tipo inteiro em linguagens como Python ou JavaScript se você não usar bibliotecas especializadas. Nesses casos, é melhor trabalhar com logaritmos ou usar o teorema de Stirling pra uma aproximação, que dá erro menor que 1% a partir de n = 10. Também tem o caso onde a repetição não é uniforme. Se você precisa contar arranjos onde certa repetição é proibida ou onde certos grupos têm regras mistas, a fórmula básica não basta. Você precisa decompor o problema em subcasos e somar os resultados. Isso é comum em problemas de distribuições com restrições de vizinhança, tipo arranjos de pessoas numa mesa onde certos grupos não podem ficar juntos.

Outro limite importante: a fórmula assume que os itens repetidos são perfeitamente intercambiáveis. Se existe qualquer critério externo que torne dois itens aparentemente idênticos distinguíveis — seja cor, posição original, histórico, ou qualquer outra variável — você precisa decidir se conta eles como iguais ou diferentes. Essa decisão muda o resultado completamente e não tem meia verdade.

Como aplicar no dia a dia

A primeira coisa é sempre listar quantos elementos existem no total e quantas vezes cada tipo se repete. Anote isso num papel antes de qualquer cálculo. A segunda é verificar se a ordem realmente importa — se importar, é permutação; se não importar, você está no caminho errado. Pra quem programa, o cálculo pode ser feito com uma função simples de fatorial. Em Python, o módulo math.factorial resolve. Eu uso uma função que recebe um dicionário com as contagens de cada elemento e devolve o resultado. O código leva menos de 10 linhas e evita erro humano de digitação nos fatoriais.

Se o problema tiver restrições de adjacência, posição fixa ou outros constraints, a abordagem padrão é: calcular o total com a fórmula, depois subtrair ou dividir pelos casos excluídos. Nunca tente construir os casos válidos diretamente — é muito mais propenso a erro e muito mais lento.

Dica prática de validação

Antes de confiar num resultado grande, teste com números pequenos. Pegue "AAB", que dá 3! / 2! = 3 arranjos: AAB, ABA, BAA. Se sua planilha ou código não devolver 3, algo está errado. Esse teste rápido com 3 elementos leva 30 segundos e já elimina a maioria dos erros de implementação. O domínio de permutação com repetição é útil em criptografia, estatística, química (isômeros), logística e qualquer área onde arranjos de itens com repetição apareçam. A fórmula em si é curta, mas a aplicação correta exige atenção aos detalhes que diferenciam um item repetido de outro genuinamente único.

Se você tiver um problema específico com elementos e restrições, a estrutura de cálculo é sempre a mesma: identifique n, conte as repetições, aplique a divisão por fatoriais e, se necessário, ajuste por restrições adicionais subtraindo os casos proibidos.