Perfect Number Checker
Bir sayının mükemmel, eksik veya bol olup olmadığını kontrol edin; uygun bölenler ve bölen toplamlarını bulun.
Mükemmel Sayıları Bul
Bilinen Mükemmel Sayılar
Bu araç hakkında
Mükemmel sayılar, pozitif bir tam sayının tüm öz bölenlerinin toplamına eşit olduğu nadir bir matematiksel fenomeni temsil eder—bu kadar zarif bir özellik ki, eski matematikçiler bunu kutsal olarak görüyorlardı. Bu sayılar, sayı teorisinin incelenmesi, asal çarpanlaştırma ve matematiksel güzellikle derin şekilde bağlantılıdır ve sıradan meraktan çok daha fazlasıdır. Mükemmel sayılar iki binden fazla yıl boyunca matematikçilerin hayal gücünü cezbetmiştir ve bu gün de gizemleri devam etmekte, yüzyılların araştırmasına rağmen yalnızca 51 bilinen örnek vardır.
Herhangi bir tam sayının sınıflandırılmasını keşfetmek için bu doğrulayıcıyı kullanın: mükemmel mi, bol mu (öz bölenler toplamı kendisinden büyük) yoksa eksik mi (öz bölenler toplamı kendisinden küçük)? Araç anında tüm öz bölenleri ve toplamlarını hesaplar, sayının yapısı hakkında tam şeffaflık sağlar. Bu, bölünebilirlik özellikleri öğrenen öğrenciler, sayı-teorik desenleri araştıran matematikçiler, Mersenne asal sayısı algoritmaları üzerinde çalışan araştırmacılar veya sayıların içindeki gizli aritmetik yapı hakkında meraklı olan herkes için değerlidir.
İlginç bir şekilde, tüm bilinen mükemmel sayılar çifttir ve Euler'in zarif formülünü takip eder: 2^(p−1) × (2^p − 1), burada (2^p − 1) bir Mersenne asal sayısıdır. Yeni mükemmel sayılar araması, yeni Mersenne asal sayılarını keşfetmeye eşdeğerdir—bu, GIMPS gibi projeler aracılığıyla rekreasyon matematiklerini en ileri bilgisayar araştırmasıyla bağlayan bir arayıştır. Bir hipotezi doğrulıyor, bölen özelliklerini öğretiyor veya basitçe matematiksel yapıya hayran oluyorsanız, bu araç soyut sayı teorisini somut, doğrulanabilir sonuçlara dönüştürür.
Sıkça Sorulan Sorular
Kod Uygulaması
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.