Menu
CoddyTech

Happy Number

Beginne mit einer positiven ganzen Zahl n und ersetze sie immer wieder durch die Summe der Quadrate ihrer Ziffern. Zum Beispiel wird aus 12: 1² + 2² = 5. Wenn dieser Vorgang 1 erreicht, ist n eine Glückszahl; andernfalls kreist er endlos durch Zahlen, in denen 1 nie vorkommt. Gib true zurück, wenn n eine Glückszahl ist, und false, wenn nicht.

Funktion

isHappy(n: integer) → boolean
ninteger
die zu testende positive ganze Zahl
Gibt zurückboolean
wahr, wenn die wiederholte Summe der Ziffernquadrate 1 erreicht, falsch, wenn sie sich endlos wiederholt

Einschränkungen

  • 1 ≤ n ≤ 231-1

Beispiele

Eingabe
n = 7
Ausgabe
true
Erklärung
7 wird zu 49, dann 4² + 9² = 97, dann 130, dann 10 und dann 1. Der Prozess erreicht 1, also ist 7 eine Glückszahl.

lock icon+16 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Wie würdest du schnell die Glückszahlen von 1 bis 10^6 zählen und dabei die Ergebnisse für Zahlen unter 1000 wiederverwenden, anstatt jeden Startwert von Grund auf durchzugehen?

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

Fall 1

Fall 2

Fall 3

Eingabe

n = 7

Erwartet

true