Menu
CoddyTech

Perfect Number

Ein echter Teiler von n ist ein positiver Teiler, der kleiner als n selbst ist. Eine vollkommene Zahl ist gleich der Summe ihrer echten Teiler: 6 = 1 + 2 + 3. Du erhältst eine positive ganze Zahl n. Gib true zurück, wenn n vollkommen ist, andernfalls false.

Funktion

isPerfect(n: integer) → boolean
ninteger
die positive Ganzzahl, die getestet werden soll
Gibt zurückboolean
wahr, wenn n der Summe seiner echten Teiler entspricht, andernfalls falsch

Einschränkungen

  • 1 ≤ n ≤ 108

Beispiele

Eingabe
n = 28
Ausgabe
true
Erklärung
Die echten Teiler von 28 sind 1, 2, 4, 7 und 14. Sie ergeben zusammen 28, also ist 28 vollkommen.

lock icon+16 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Jede gerade vollkommene Zahl hat die Form 2^(p-1) × (2^p-1), wobei 2^p-1 prim ist. Kannst du mit dieser Formel alle vollkommenen Zahlen unterhalb von 10^8 auflisten, ohne jede Zahl zu testen?

Code zurücksetzen
def isPerfect(n):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

n = 28

Erwartet

true