Como fazer a decomposição em fatores primos na prática
A decomposição em fatores primos é o processo de escrever um número composto como o produto de números primos. Para o número 80, o resultado é 2 × 2 × 2 × 2 × 5, ou na forma exponencial: 2 × 5¹. O método é simples, mas há detalhes que as pessoas costumam errar, e eu já vi bastante gente confundindo isso no dia a dia.
decomponha o número 80 em fatores primos
Vou explicar pelo método da árvore de fatores ou da divisão sucessiva, que é o mais direto. Você divide o número pelo menor primo possível até chegar a 1. 80 ÷ 2 = 40
40 ÷ 2 = 20
20 ÷ 2 = 10
10 ÷ 2 = 5
5 ÷ 5 = 1
Os divisores usados foram: 2, 2, 2, 2 e 5. Logo, a fatoração prima de 80 é 2 × 5. Pronto. Isso é tudo que existe. O que muita gente não entende é que a ordem dos fatores não importa. O teorema fundamental da aritmética garante que a decomposição é única, independentemente do caminho que você escolheu. Tanto faz usar a árvore de fatores quanto a tabela de divisões. O resultado final será sempre o mesmo. Se alguém te disser o contrário, está errado.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um problema real que eu enfrentei recentemente envolvia um número muito maior, da ordem de centenas de milhões, onde o algoritmo ingênuo de tentativa de divisão começava a ficar lento. A solução foi usar o crivo de Eratóstenes pré-computado até a raiz quadrada do número, o que reduziu o tempo de execução de segundos para milissegundos em muitos casos. Não adianta testar primos maiores que a raiz quadrada do número alvo; se sobrar algum fator após essa divisão, ele próprio já será primo. Outro detalhe que passa despercebido: números com muitos fatores pequenos, como 80, são visualmente mais fáceis de lidar do que números primos grandes ou produtos de primos próximos entre si. Um número como 97 × 101 = 9797 parece inofensivo, mas sua fatoração não é óbvia de forma alguna sem ferramentas adequadas. A fatoração de inteiros grandes é, na verdade, um problema computacionalmente difícil, e é exatamente essa dificuldade que sustenta a segurança do RSA.
Se você precisa automatizar isso, uma função simples em qualquer linguagem resolve. Em Python, por exemplo: def fatora(n):
fatores = []
d = 2
while d * d <= n:
while n % d == 0:
fatores.append(d)
n //= d
d += 1
if n > 1:
fatores.append(n)
return fatores
Essa função retorna [2, 2, 2, 2, 5] para n = 80. Roda instantaneamente para números dentro de 64 bits. Para números maiores que 2³, o algoritmo perde eficiência e aí entra a necessidade de métodos como o crivo quadrático ou a p-1 de Pollard, que são bem mais complexos de implementar. A principal limitação do método básico é exatamente essa: ele é exponencial no número de bits do. Para fins educacionais e para números até algumas centenas de milhares, funciona perfeitamente. Para criptografia ou testes de primalidade reais, não serve. Nesses casos, use bibliotecas estabelecidas como gmpy2 ou OpenSSL, que já implementam versões otimizadas e testadas.
O erro mais comum que eu vejo é parar a decomposição antes da hora. Alguém divide 80 por 2 quatro vezes e chega em 5, mas depois esquece que 5 também é primo e para por aí sem registrar. Ou pior, acha que 9 é primo e continua dividindo por 9. Tenha sempre a lista de primos pequenos à mão: 2, 3, 5, 7, 11, 13, 17, 19, 23... e verifique se o quociente final é de fato primo antes de considerar a fatoração completa. Para 80 especificamente, a resposta é 2 × 5, e não há ambiguidade alguma nisso. Qualquer outro resultado indica erro de cálculo.