Arrumar as letras de uma palavra que se repete
Eu estava corrigindo uma prova de combinatória há uns dois anos quando um aluno perguntou quantas palavras diferentes dava pra formar com a palavra "BANANA". Ele começou a fazer conta na mão, um por um, e eu simplesmente disse: usa a fórmula de permutação com repetição. Aí a galera sempre fica confusa porque acha que é outra coisa. Na verdade é só ajustar o fatorial quando tem elemento repetido.
O que é a fórmula permutação com repetição
Você tem um conjunto de n objetos, mas alguns deles são idênticos. Se não fosse pelo fato de haver repetição, o número de arranjos seria n!. Mas como existem elementos iguais que não geram diferença quando trocados de lugar, você divide pelos fatoriais das quantidades de cada tipo repetido. Matematicamente, se você tem n elementos onde o tipo A aparece n1 vezes, o tipo B aparece n2 vezes, e assim por diante, a quantidade de permutações distintas é n! dividido por (n1! × n2! × ... × nk!).
No caso do "BANANA", temos 6 letras no total. O A aparece 3 vezes, o N aparece 2 vezes, e o B aparece 1 vez. Então a conta fica 6! dividido por (3! × 2! × 1!). Isso dá 720 dividido por 12, que é igual a 60 permutações distintas. Eu já vi gente confundir isso com combinação, ou achar que precisa listar tudo manualmente. A última vez que precisei usar isso na prática foi num projeto de criptografia onde eu tinha que calcular quantas senhas únicas existiam com um conjunto específico de caracteres repetidos. O problema é que números crescem rápido demais e o fatorial de 10 já passa de 3 milhões.
Quando usar e quando não usar
A permutação com repetição se aplica sempre que a ordem dos elementos importa e há itens indistinguíveis. Se a ordem não importa, você está num terreno de combinação, não de permutação. Isso é o erro mais comum que eu vejo. Outro erro frequente é tratar elementos que parecem iguais mas não são. Por exemplo, se você tem duas letras "A" maiúsculas e minúsculas diferentes, elas não se repetem no sentido da fórmula. A fórmula permutação com repetição só funciona quando os elementos repetidos são realmente indistinguíveis.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Na prática, esse método costuma economizar horas de trabalho manual. Em vez de gerar lista por lista, você resolve em segundos com uma calculadora. O problema é que quando os números ficam grandes, como fatorial de 20 ou mais, você precisa de ferramentas que suportem aritmética de BigInt, senão o resultado vaza precision.
Um caso que ninguém conta
Eu einmal tive um problema onde eu precisava contar permutações de "MISSISSIPPI" e o pessoal na internet sempre esquece de contar o I, que aparece 4 vezes. A palavra tem 11 letras no total: M=1, I=4, S=4, P=2. O cálculo fica 11! / (1! × 4! × 4! × 2!), que resulta em 34.650 arranjos distintos. O que eu percebi na época foi que muita gente aplica a fórmula sem verificar primeiro se todos os elementos foram contados corretamente. Se você erra a contagem de qualquer tipo repetido, o resultado final fica completamente errado. Eu costumava fazer uma verificação dupla: somar todas as quantidades para garantir que batiam com o total n.
Limitações reais
Essa fórmula não funciona quando você tem restrições adicionais, como "o elemento X não pode ficar na primeira posição" ou "os elementos Y e Z precisam estar juntos". Nesses casos, você precisa adaptar o problema usando princípio da inclusão-exclusão ou tratando os elementos exigidos como um único bloco. Também não serve para problemas onde a ordem não importa. Se a questão pede grupos ou seleções sem considerar a sequência, você está numa situação de combinação, possivelmente com repetição também, mas aí a fórmula muda completamente para C(n+k-1, k).
O maior gargalhante que eu encontro é quando alguém tenta aplicar a fórmula em problemas de probabilidade sem normalizar pelo espaço amostral adequado. A fórmula de permutação com repetição conta arranjos, não probabilidades. Para probabilidade, você precisa dividir o número de casos favoráveis pelo total de casos possíveis. Se você precisa lidar com números enormes ou muitas repetições complexas, uma alternativa é usar funções especiais como a função gamma estendida ou bibliotecas de matemática discreta como SymPy ou Mathematica. Mas para a maioria dos problemas do dia a dia, a fórmula clássica resolve em menos de 30 segundos.