Perfect Number Checker
Vérifier si un nombre est parfait, déficient ou abondant en trouvant les diviseurs propres et les sommes de diviseurs.
Trouver les Nombres Parfaits
Nombres Parfaits Connus
À propos de cet outil
Les nombres parfaits représentent un phénomène mathématique rare où un entier positif est égal à la somme de ses diviseurs propres—une propriété si élégante que les anciens mathématiciens la considéraient comme sacrée. Ces nombres sont profondément liés à l'étude de la théorie des nombres, de la factorisation première et de la beauté mathématique, bien au-delà de simples curiosités. Les nombres parfaits ont captivé l'imagination des mathématiciens pendant plus de deux mille ans, et leur mystère perdure aujourd'hui avec seulement 51 exemples connus malgré des siècles de recherche.
Utilisez ce vérificateur pour explorer la classification de n'importe quel nombre entier : est-il parfait, abondant (avec une somme de diviseurs supérieure à lui-même) ou déficient (avec une somme inférieure) ? L'outil calcule instantanément tous les diviseurs propres et leur somme, offrant une transparence complète sur la structure du nombre. C'est inestimable pour les étudiants apprenant les propriétés de divisibilité, les mathématiciens enquêtant sur des motifs de théorie des nombres, les chercheurs travaillant sur des algorithmes de nombres premiers de Mersenne, ou quiconque curieux de la structure arithmétique cachée dans les nombres.
Il est intéressant de noter que tous les nombres parfaits connus sont pairs et suivent la formule élégante d'Euler : 2^(p−1) × (2^p − 1) où (2^p − 1) est un nombre premier de Mersenne. La recherche de nouveaux nombres parfaits équivaut à découvrir de nouveaux nombres premiers de Mersenne—une quête qui relie les mathématiques récréatives à la recherche informatique de pointe via des projets comme GIMPS. Que vous vérifiiez une conjecture, enseigriez des propriétés de diviseurs ou vous émerveilleriez simplement devant la structure mathématique, cet outil transforme la théorie des nombres abstraite en résultats tangibles et vérifiables.
Questions Fréquentes
Implémentation du Code
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.