Como encontrar e trabalhar com o 7 numero da perfeição
O número 137.438.691.328 é o sétimo número perfeito conhecido. Ele aparece na sequência OEIS A000396, junto com os outros seis números perfeitos: 6, 28, 496, 8128, 33.550.336 e 8.589.869.056. Se você está tentando reproduzir esses resultados ou entender por que eles são tão difíceis de calcular conforme avançamos na sequência, o processo é direto mas exige atenção em certos pontos. A fórmula básica vem do teorema de Euclides-Euler: todo número perfeito par pode ser gerado a partir de um primo de Mersenne. A relação é 2^(p-1) * (2^p - 1), onde 2^p - 1 precisa ser primo. Para o sétimo número da sequência, o expoente p é 19. Isso significa que 2^19 - 1 = 524.287 precisa ser primo, e 2^18 = 262.144. Multiplicando os dois, chegamos a 137.438.691.328.
7 numero da perfeição
O cálculo em si é simples de montar. A parte chata começa quando você tenta generalizar isso para os próximos números da sequência. O oitavo número perfeito, por exemplo, usa p = 31, e o resultado já ultrapassa 2,3 trilhões. O nono salta para uma faixa onde a aritmética de precisão comum começa a falhar se você não tomar cuidado com os tipos de dados. Na prática, eu já perdi algumas horas tentando validar o quinto número perfeito (33.550.336) usando JavaScript porque o número ultrapassa o limite de precisão inteira segura do IEEE 754. O tipo Number no JS armazena inteiros com segurança apenas até 2^53 - 1, que é aproximadamente 9 quatrilhões. O quinto e o sexto números perfeitos ainda cabem nessa faixa, mas a partir do sétimo você precisa se virar de outra forma. Use BigInt no JavaScript ou uma biblioteca de aritmética de múltipla precisão como GMP em C, ou sympy em Python. Sem isso, os resultados simplesmente se corrompem e você fica sem saber se errou a fórmula ou se o problema é a plataforma.
Outro detalhe que poucas fontes mencionam: nem todo primo p gera um primo de Mersenne. P=11 é primo, mas 2^11 - 1 = 2047 = 23 × 89, então ele não conta. Isso significa que os expoentes p não seguem simplesmente a sequência de primos. Você precisa testar cada primo p para ver se 2^p - 1 é realmente primo. Os primeiros valores de p que funcionam são 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127. Entre 19 e 31 existem os primos 23, 29 — nenhum dos dois gera um primo de Mersenne. Se o seu objetivo é apenas listar os sete primeiros números perfeitos, o código em Python com sympy fica assim:
from sympy import isprime primes = [2, 3, 5, 7, 13, 17, 19]
👉 Clique no botão abaixo para saber mais sobre o assunto!
perfect_numbers = [] for p in primes:
mersenne = 2p - 1 if isprime(mersenne):
perfect_numbers.append(2(p-1) * mersenne) print(perfect_numbers)
Isso imprime a lista completa com os sete valores, incluindo o 7 numero da perfeição no final. O tempo de execução para esses primeiros termos leva menos de um segundo em qualquer máquina razoável. Um problema comum que as pessoas encontram é confundir número perfeito com outras propriedades numéricas. Número perfeito só significa que a soma dos divisores próprios é igual ao próprio número. Para 6: 1 + 2 + 3 = 6. Para 28: 1 + 2 + 4 + 7 + 14 = 28. Não tem segredo, mas a contagem de divisores fica pesada rapidamente. Para o sétimo número perfeito, testar cada divisor individualmente seria impraticável — são mais de 137 bilhões. Por isso a abordagem baseada em primos de Mersenne é a única viável para qualquer termo além dos dois primeiros.
Se você está procurando um programa para gerar números perfeitos, a biblioteca mpmath do Python também funciona bem e lida com números grandes nativamente. A função mpmath.facial() e operações de potência com precisão arbitrária são suficientes. Mas para uso casual, sympy já resolve e é mais leve. A verdade é que números perfeitos são mais uma curiosidade teórica do que uma ferramenta prática. Não existe aplicativo comercial que dependa diretamente deles. A utilidade real está em entender a relação entre primos de Mersenne e perfeição, e em usar isso como exercício de programação com grandes inteiros. A parte mais difícil não é calcular o número em si — é perceber quando a sua ferramenta de cálculo começa a falhar silenciosamente.