Prüfer für glückliche Zahlen
19 ist glücklich: 1² + 9² ergibt 82, dann 68, dann 100 und schließlich 1, in vier Schritten. Geben Sie eine positive ganze Zahl ein und sehen Sie jeden Schritt bis 1 oder bis zum endlosen Zyklus der unglücklichen Zahlen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- N
- 19
- Iterationen
- 4
- Folge
- 19, 82, 68, 100, 1
- Endwert
- 1
Eine glückliche Zahl (Happy Number) ist eine positive ganze Zahl, die schließlich eins erreicht, wenn man sie wiederholt durch die Summe der Quadrate ihrer Dezimalziffern ersetzt. Tritt der Prozess in einen Zyklus ein, der nie eins trifft, ist die Zahl unglücklich (manchmal traurig genannt). Der Weg ist kurz, vollständig deterministisch und berühmt in der freizeitlichen Zahlentheorie und in Coding-Interviews. Dieser Prüfer nimmt eine einzelne positive ganze Zahl, führt die Ziffernquadrat-Abbildung mit Zyklenerkennung aus und liefert, ob die Zahl glücklich ist, zusammen mit der vollständigen Folge der Zwischenwerte, damit Sie jeden Schritt prüfen können. Werte unter eins werden als ungültige Eingabe abgelehnt.
Was eine glückliche Zahl ist und wie der Ziffernquadrat-Prozess funktioniert
Beginnen Sie mit einer beliebigen positiven ganzen Zahl in der Zehnerbasis. Quadrieren Sie jede ihrer Ziffern, addieren Sie diese Quadrate und behandeln Sie die Summe als nächsten Wert der Folge. Wiederholen.
Landen Sie jemals auf eins, ist die Ausgangszahl glücklich. Besuchen Sie eine bereits gesehene Zahl erneut, sind Sie in einen endlichen Zyklus eingetreten, der eins nicht enthält, also ist die Ausgangszahl unglücklich. Ein klassisches glückliches Beispiel ist neunzehn: eins im Quadrat plus neun im Quadrat ist zweiundachtzig; acht im Quadrat plus zwei im Quadrat ist achtundsechzig; sechs im Quadrat plus acht im Quadrat ist einhundert; eins im Quadrat plus null im Quadrat plus null im Quadrat ist eins.
Ein unglücklicher Start wie zwei erreicht schnell vier, dann sechzehn, siebenunddreißig, achtundfünfzig, neunundachtzig, einhundertfünfundvierzig, zweiundvierzig, zwanzig und zurück zu vier — der klassische Zyklus aller unglücklichen Positiven unter dieser Abbildung. Die Definition ist rein arithmetisch: keine Wahrscheinlichkeit, keine externen Tabellen und keine Abhängigkeit von Gleitkommanäherung, solange Sie bei gewöhnlichen ganzen Zahlen bleiben.
Lehrmaterialien kontrastieren glückliche Zahlen oft mit verwandten Ziffernprozessen wie digitaler Wurzel oder additiver Persistenz; jene reduzieren durch einmaliges Summieren der Ziffern, während Glück jede Ziffer vor dem Summieren quadriert und sich um das Erreichen von eins versus Schleifen kümmert. Weil jede nichtnegative ganze Zahl bei mehr als wenigen Ziffern auf einen strikt kleineren Wert abbildet, oder zumindest in eine kleine geschlossene Menge von Attraktoren, endet der Algorithmus stets nach einer bescheidenen Anzahl von Iterationen.
Das macht die Eigenschaft ideal für automatisierte Prüfungen, Wettbewerbsaufgaben und Unterrichtsdemos, in denen Lernende den Pfad zeigen müssen und nicht nur ein Ja-oder-Nein-Label.
Praktische Nutzung, Grenzen, Preise und Lieferkanäle
Nutzen Sie das Browser-Werkzeug, wenn Sie ein sofortiges Urteil zu glücklichen Zahlen wollen, während Sie LeetCode-ähnliche Aufgaben studieren, eine Zahlentheorie-Stunde vorbereiten oder eine Wettbewerbsantwort prüfen, ohne ein Computeralgebrasystem zu installieren. Akzeptierte Eingaben sind positive ganze Zahlen bis zum veröffentlichten Maximum, damit Unterrichtsbeispiele und Interview-Demos in gewöhnlichen Zahlenbereichen exakt bleiben. Ergebnisse hängen nie von Uhren, Zufalls-Seeds oder entfernten Arithmetikdiensten ab.
Verdrahten Sie den Endpunkt in Coding-Interview-Übungs-Apps, freizeitmathematische Seiten, Pipelines zur Integer-Klassifikation oder Lehr-Dashboards, wo Sie exakte Ziffernarithmetik bereits undurchsichtigen Blackbox-Rechnern vorziehen.
Anwendungsfälle
Prüfungen zu Interview- und Wettbewerbsaufgaben
Kandidatinnen und Bewertende können die Klassifikation glücklicher Zahlen für beliebige Positive prüfen und die volle Ziffernquadrat-Folge einsehen, ohne eine lokale Schleife zu schreiben.
Zahlentheorie-Demos im Unterricht
Lehrkräfte können zeigen, wie das Summieren quadrierter Ziffern zu eins oder zum klassischen unglücklichen Zyklus führt, mit jedem Zwischenwert sichtbar zur Diskussion.
Automatisierte Pipelines zur Integer-Klassifikation
Skripte, die ganze Zahlen als glücklich oder unglücklich markieren, können einen einzigen deterministischen Endpunkt mit Stückpreis aufrufen, statt ad-hoc-Zyklenerkennung einzubetten.
Häufige Fragen
Was enthält das Feld sequence?
Sequence listet jeden Wert vom ursprünglichen n über jede Summe der Ziffernquadrate, bis der Weg 1 erreicht oder ein zuvor gesehenes Zyklusmitglied erneut betritt.
Sind die Ergebnisse deterministisch?
Es gibt kein Modell, keinen Netzaufruf und keine Zufälligkeit im Pfad.
Ist 19 eine glückliche Zahl?
Ja. Quadriert man ihre Ziffern und addiert sie, erhält man 82, dann 68, dann 100 und schließlich 1, also erreicht 19 die 1 nach vier Schritten. Das Ergebnis zeigt den ganzen Weg.
Was passiert mit einer unglücklichen Zahl?
Sie erreicht nie 1, sondern gerät in eine Schleife. Ab 2 erhält man zum Beispiel 4, 16, 37, 58, 89, 145, 42, 20 und wieder 4; in diesem Zyklus enden alle unglücklichen Zahlen.
Worin unterscheidet sich das von der Ziffernsumme?
Bei der Ziffernsumme oder digitalen Wurzel addiert man die Ziffern nur. Hier wird jede Ziffer vorher quadriert, und entscheidend ist, ob die Folge bei 1 ankommt oder in einer Schleife kreist.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/numth/happy-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":19}'const res = await fetch("https://api.kit.forhosting.com/numth/happy-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 19
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/happy-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 19
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/happy-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":19}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":19}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/happy-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"n": 19
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.happy_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_n | 1000000000000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Wie dieser Prüfer Glück bewertet und die Folge meldet
Die Implementierung prüft, dass n vorhanden, endlich, ganzzahlig und mindestens eins ist. Anschließend durchläuft sie die Summe-der-Ziffernquadrate-Abbildung und protokolliert jeden Wert der Reihe nach. Eine Menge bereits gesehener Werte erkennt Zyklen im Moment einer Wiederholung, sodass die Schleife nicht ewig laufen kann. Rufen Sie die Fähigkeit mit einem Feld n auf, das eine positive ganze Zahl enthält, entweder als JSON-Zahl im sicheren Bereich oder als reine Ziffernzeichenkette, die zu einer ganzen Zahl normalisiert. Wenn der Weg stoppt, meldet die Engine is_happy true, wenn der Endwert eins ist, sonst false, iterations als Anzahl angewandter Ziffernquadrat-Schritte, die vollständige Folge einschließlich des terminalen Eintrags und terminal selbst für eine kompakte maschinenlesbare Stoppbedingung. Fehlendes n, Nicht-Ganzzahlen, Werte unter eins und ganze Zahlen über dem veröffentlichten Maximum scheitern mit invalid_input und werden nicht berechnet.
Praktische Nutzung, Grenzen, Preise und Lieferkanäle
Nutzen Sie die API, wenn ein Skript, Hausaufgabenprüfer oder eine Bildungsplattform stabiles JSON für viele Werte mit festem Vertrag braucht. Jede erfolgreiche Anfrage ist ein abrechenbarer Posten zu $0.002; fehlgeschlagene Validierung wird nicht berechnet. Die Lieferung funktioniert über Webformular, Task-API, SDK-Clients und andere KIT-Kanäle ohne Änderung des mathematischen Vertrags.
Technische Fragen
Wie prüfe ich eine glückliche Zahl mit dieser API?
Senden Sie einen JSON-Körper mit dem positiven Ganzzahlfeld n an die Fähigkeit numth.happy_number. Die Antwort liefert is_happy, iterations, die geordnete Folge und den Terminalwert.
Was passiert, wenn n unter 1 liegt?
Die Anfrage scheitert mit invalid_input. Dieser Prüfer verlangt eine positive ganze Zahl; null und Negative werden abgelehnt und nicht berechnet.
Ist der Prüfer für glückliche Zahlen kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Posten; Validierungsfehler werden nicht berechnet.