Perfect Number Checker
Verifique se um número é perfeito, deficiente ou abundante. Encontre divisores próprios e somas de divisores.
Encontrar Números Perfeitos
Números Perfeitos Conhecidos
Sobre esta ferramenta
Números perfeitos representam um raro fenômeno matemático onde um inteiro positivo é igual à soma de seus divisores próprios—uma propriedade tão elegante que os antigos matemáticos a consideravam sagrada. Esses números estão profundamente conectados ao estudo da teoria dos números, fatoração de primos e beleza matemática, sendo muito mais que meras curiosidades. Os números perfeitos têm cativado a imaginação de matemáticos por mais de dois mil anos, e seu mistério continua hoje com apenas 51 exemplos conhecidos apesar de séculos de busca.
Use este verificador para explorar a classificação de qualquer número inteiro: é perfeito, abundante (com soma de divisores superior a si mesmo) ou deficiente (com soma de divisores inferior)? A ferramenta calcula instantaneamente todos os divisores próprios e sua soma, fornecendo transparência completa sobre a estrutura do número. Isso é inestimável para estudantes aprendendo propriedades de divisibilidade, matemáticos investigando padrões número-teóricos, pesquisadores trabalhando em algoritmos de primos de Mersenne, ou qualquer pessoa curiosa sobre a estrutura aritmética oculta dentro dos números.
Interessantemente, todos os números perfeitos conhecidos são pares e seguem a fórmula elegante de Euler: 2^(p−1) × (2^p − 1) onde (2^p − 1) é um número primo de Mersenne. A busca por novos números perfeitos é equivalente a descobrir novos números primos de Mersenne—uma busca que conecta a matemática recreativa com a pesquisa computacional de ponta através de projetos como GIMPS. Quer você esteja verificando uma conjectura, ensinando propriedades de divisores ou simplesmente maravilhando-se com a estrutura matemática, esta ferramenta transforma a teoria dos números abstrata em resultados tangíveis e verificáveis.
Perguntas Frequentes
Implementação de Código
def get_proper_divisors(n: int) -> list[int]:
"""Get all proper divisors of n (excluding n itself)."""
if n <= 1:
return []
divisors = [1]
i = 2
while i * i <= n:
if n % i == 0:
divisors.append(i)
if i != n // i:
divisors.append(n // i)
i += 1
return sorted(divisors)
def check_perfect(n: int) -> dict:
"""Check if n is perfect, deficient, or abundant."""
if n <= 0:
return {"error": "Must be positive"}
divisors = get_proper_divisors(n)
divisor_sum = sum(divisors)
if divisor_sum == n:
classification = "perfect"
elif divisor_sum < n:
classification = "deficient"
else:
classification = "abundant"
return {
"number": n,
"divisors": divisors,
"divisor_sum": divisor_sum,
"is_perfect": divisor_sum == n,
"classification": classification,
"difference": n - divisor_sum
}
# Known perfect numbers
perfect_numbers = [6, 28, 496, 8128, 33550336]
for p in perfect_numbers:
r = check_perfect(p)
print(f"{p}: {r['classification']} (divisors sum = {r['divisor_sum']})")
print(f" Divisors: {r['divisors']}")
# Find abundant numbers up to 100
print("\nAbundant numbers up to 100:")
abundant = [n for n in range(2, 101) if check_perfect(n)["classification"] == "abundant"]
print(abundant)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.