Perfect Number Checker
Controlla se un numero è perfetto, carente o abbondante. Trova i divisori propri e le somme dei divisori.
Trova Numeri Perfetti
Numeri Perfetti Conosciuti
Informazioni sullo strumento
I numeri perfetti rappresentano un fenomeno matematico raro in cui un intero positivo è uguale alla somma dei suoi divisori propri—una proprietà così elegante che gli antichi matematici la consideravano sacra. Questi numeri sono profondamente connessi allo studio della teoria dei numeri, della fattorizzazione dei primi e della bellezza matematica, essendo molto più che semplici curiosità. I numeri perfetti hanno affascinato l'immaginazione dei matematici per più di duemila anni, e il loro mistero continua oggi con solo 51 esempi conosciuti nonostante secoli di ricerca.
Utilizza questo verificatore per esplorare la classificazione di qualsiasi numero intero: è perfetto, abbondante (con somma di divisori superiore a se stesso) o difettivo (con somma inferiore)? Lo strumento calcola istantaneamente tutti i divisori propri e la loro somma, fornendo completa trasparenza sulla struttura del numero. Questo è prezioso per studenti che apprendono proprietà di divisibilità, matematici che investigano modelli nella teoria dei numeri, ricercatori che lavorano su algoritmi di numeri primi di Mersenne, o chiunque sia curioso della struttura aritmetica nascosta all'interno dei numeri.
È interessante notare che tutti i numeri perfetti conosciuti sono pari e seguono l'elegante formula di Eulero: 2^(p−1) × (2^p − 1) dove (2^p − 1) è un numero primo di Mersenne. La ricerca di nuovi numeri perfetti è equivalente a scoprire nuovi numeri primi di Mersenne—una ricerca che collega la matematica ricreativa con la ricerca computazionale all'avanguardia attraverso progetti come GIMPS. Che tu stia verificando una congettura, insegnando proprietà dei divisori o semplicemente meravigliandoti della struttura matematica, questo strumento trasforma la teoria dei numeri astratta in risultati tangibili e verificabili.
Domande Frequenti
Implementazione del Codice
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.