Zum Inhalt springen
🛠️ToolsShed

Perfect Number Checker

Überprüfe, ob eine Zahl perfekt, defizitär oder reichlich ist, und finde echte Divisoren und Summen.

Perfekte Zahlen finden

Bekannte perfekte Zahlen

Über dieses Tool

Vollkommene Zahlen stellen ein seltenes mathematisches Phänomen dar, bei dem eine positive ganze Zahl gleich der Summe ihrer echten Teiler ist—eine Eigenschaft so elegant, dass die alten Mathematiker sie als heilig betrachteten. Diese Zahlen sind tiefgreifend mit dem Studium der Zahlentheorie, der Primfaktorzerlegung und der mathematischen Schönheit verbunden und sind viel mehr als bloße Kuriositäten. Vollkommene Zahlen faszinieren Mathematiker seit über zweitausend Jahren, und ihr Geheimnis setzt sich heute fort, da trotz Jahrhunderte langer Suche nur 51 bekannte Beispiele bekannt sind.

Verwenden Sie diesen Checker, um die Klassifizierung einer beliebigen ganzen Zahl zu erkunden: Ist sie vollkommen, abundant (mit Teilersumme, die sie selbst übersteigt) oder defizient (mit unzureichender Teilersumme)? Das Tool berechnet sofort alle echten Teiler und deren Summe und bietet vollständige Transparenz über die Struktur der Zahl. Dies ist von unschätzbarem Wert für Schüler, die Teilbarkeitseigenschaften erlernen, Mathematiker, die zahlentheoretische Muster untersuchen, Forscher, die an Mersenne-Primzahl-Algorithmen arbeiten, oder jeden, der sich für die verborgene arithmetische Struktur in Zahlen interessiert.

Interessanterweise sind alle bekannten vollkommenen Zahlen gerade und folgen Eulers eleganter Formel: 2^(p−1) × (2^p − 1), wobei (2^p − 1) eine Mersenne-Primzahl ist. Die Suche nach neuen vollkommenen Zahlen ist gleichbedeutend mit der Entdeckung neuer Mersenne-Primzahlen—eine Suche, die Freizeitmathematik mit hochmoderner Computerforschung durch Projekte wie GIMPS verbindet. Ob Sie eine Vermutung überprüfen, Teilereigenschaften unterrichten oder sich einfach über mathematische Strukturen wundern, dieses Tool verwandelt abstrakte Zahlentheorie in greifbare, überprüfbare Ergebnisse.

Häufig gestellte Fragen

Code-Implementierung

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.