Digitaditions-Generatoren
101 hat zwei Generatoren, 91 und 100, denn 91 + 10 und 100 + 1 ergeben beide 101. Geben Sie eine positive ganze Zahl ein und sehen Sie alle Generatoren aufsteigend, oder erfahren Sie, dass sie eine Selbstzahl ist. 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
- 101
- Erzeuger
- 91, 100
- Anzahl
- 2
Digitadition ist der Name, den D. R. Kaprekar dem Addieren einer positiven ganzen Zahl mit der Summe ihrer eigenen Dezimalziffern gab. Ein Generator von n ist jede ganze Zahl m, für die m plus die Ziffernsumme von m gleich n ist; Zahlen ohne solches m heißen Selbstzahlen oder self numbers. Schülerinnen und Schüler, Wettbewerbsprogrammierer und Lehrplanautorinnen brauchen oft die vollständige Generatorliste für ein gegebenes n, nicht nur ein Ja-Nein-Kennzeichen für Selbstzahlen.
Was Digitaditions-Generatoren sind und warum die Suche kurz ist
Schreiben Sie s(m) für die Summe der Dezimalziffern einer nichtnegativen ganzen Zahl m. Digitadition bildet m auf m plus s(m) ab. Ein Generator einer positiven ganzen Zahl n ist jedes m mit m plus s(m) gleich n.
Umstellen ergibt m gleich n minus s(m), daher ist jeder Generator strikt kleiner als n, weil die Ziffernsumme eines positiven m mindestens eins beträgt und m gleich null nur null liefert. Die Ziffernsumme wächst höchstens neunmal so schnell wie die Ziffernanzahl: für jedes m kleiner als n ist s(m) höchstens neunmal die Ziffernanzahl von n. Deshalb liegt jeder Generator im abgeschlossenen ganzzahligen Intervall vom Maximum aus null und n minus neunmal die Ziffern von n bis n minus eins.
Dieses Fenster zu prüfen genügt; ein Scan von null bis n ist bei großen Zielen unnötig. Klassische Beispiele: n gleich einundzwanzig hat den einzigen Generator fünfzehn, weil fünfzehn plus sechs einundzwanzig ergibt; n gleich hunderteins hat die Generatoren einundneunzig und hundert, weil einundneunzig plus zehn hunderteins und hundert plus eins hunderteins ergeben; n gleich zwanzig hat eine leere Liste und ist daher eine Selbstzahl.
Wofür die Liste der Generatoren nützt
Klassenzimmer und Tutoring-Plattformen nutzen ein Digitaditions-Generatoren-Werkzeug, damit Lernende Kaprekars Selbstzahlen erkunden, ohne jeden Kandidaten unter n von Hand zu prüfen. Olympiade- und Programmierwettbewerbstrainer brauchen ein deterministisches Orakel, das Selbstzahlen markiert, wenn die Generatorliste leer ist, und niemals einen Generator außerhalb des bewiesenen Fensters erfindet. Curriculum-Generatoren laufen über Bereiche von n, sammeln Selbstzahlen und bauen Arbeitsblätter, die alle Generatoren ausgewählter Ziele auflisten lassen.
Ungültige Eingabe wird nicht berechnet.
Anwendungsfälle
Selbstzahl-Prüfungen im Unterricht
Lassen Sie Lernende n einreichen und jeden Generator m mit m plus Ziffernsumme gleich n sehen, oder bestätigen, dass n eine Selbstzahl ist, wenn die Liste leer ist.
Auto-Bewertung in Wettbewerben und LMS
Bewerten Sie Digitaditions- und Selbstzahl-Aufgaben mit einem deterministischen Orakel, das die vollständige geordnete Generatorliste liefert, nicht nur ein boolesches Flag.
Curriculum- und Forschungsstapel
Durchlaufen Sie Bereiche von n per Skript, sammeln Sie Anzahlen und Selbstzahl-Flags und bauen Sie Tabellen oder Arbeitsblätter, ohne das Scanfenster neu zu implementieren.
Häufige Fragen
Was ist ein Digitaditions-Generator?
Ein Generator von n ist eine ganze Zahl m, für die m plus die Summe der Dezimalziffern von m gleich n ist. Beispiel: 15 erzeugt 21, weil 15 + 1 + 5 = 21.
Was ist eine Selbstzahl (self number)?
Eine Selbstzahl ist eine positive ganze Zahl ohne Generatoren.
Wie viele Generatoren kann n haben?
Meist null, einen oder wenige. Das Scanfenster ist nur etwa 9-mal so lang wie die Ziffernanzahl von n, daher bleibt die Liste auch bei großen sicheren Ganzzahlen klein.
Welche Generatoren hat 101?
Es sind 91 und 100. Die Quersumme von 91 ist 10, und 91 + 10 = 101; die Quersumme von 100 ist 1, und 100 + 1 = 101. Weitere Generatoren gibt es nicht.
Wie viele Generatoren kann eine Zahl haben?
Keinen, einen oder mehrere. Ohne Generator ist die Zahl eine Selbstzahl, 101 dagegen hat zwei. Der Rechner zeigt immer alle gefundenen Generatoren aufsteigend und ihre Anzahl.
Warum muss die Zielzahl mindestens 1 sein?
Gesucht wird eine Zahl, die zusammen mit ihrer Quersumme das Ziel ergibt, und dieses Ziel ist nach der Definition eine positive ganze Zahl. Null, negative Werte und Brüche werden daher mit einer klaren Meldung abgelehnt.
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/digitadition-generators \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":101}'const res = await fetch("https://api.kit.forhosting.com/numth/digitadition-generators", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 101
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/digitadition-generators",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 101
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/digitadition-generators", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":101}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":101}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/digitadition-generators", 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": 101
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.digitadition_generators",
"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.
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
Diese Fähigkeit nimmt eine positive ganze Zahl n entgegen, durchsucht das kurze bewiesene Kandidatenfenster nahe n und liefert jeden Generator in aufsteigender Reihenfolge zusammen mit einer Anzahl und dem Flag is_self_number.
Was Digitaditions-Generatoren sind und warum die Suche kurz ist
Der Algorithmus ist vollständig deterministisch: dasselbe n liefert stets dasselbe geordnete generators-Array, denselben count und denselben is_self_number-Booleschen Wert, ohne Zufall, ohne Netz und ohne Uhrenabhängigkeit.
Eingabevertrag, Antwortform und Fehlerverhalten
Die Meldung für Ziele unter eins besagt, dass n mindestens eins sein muss, passend zum mathematischen Bereich positiver Digitaditionsziele. Fehlgeschlagene Validierung wird nicht berechnet. Senden Sie per POST ein JSON-Objekt mit dem erforderlichen positiven ganzzahligen Feld n. Die Aliase number, value und target werden mit derselben Bedeutung akzeptiert. Der Wert darf als JSON-Zahl oder als reine Ziffernzeichenkette mit optionalem Vorzeichen ankommen; leere Zeichenketten, fehlende Felder, Nicht-Ganzzahlen, nicht endliche Werte und jedes n strikt kleiner als eins scheitern mit invalid_input. Bei Erfolg spiegelt der Körper das normalisierte n, liefert generators als aufsteigendes Array ganzer Zahlen, count als Länge dieses Arrays, is_self_number genau dann wahr, wenn das Array leer ist, und eine kurze formula-Zeichenkette, die m plus digit_sum von m gleich n bekräftigt. Grenzen sicherer Ganzzahlen gelten: n darf das maximale sichere JavaScript-Integer nicht überschreiten, damit jede Ziffernextraktion in IEEE-754-Doubles exakt bleibt. Beispielprüfungen, die Sie in Tests verankern können: n gleich hunderteins liefert Generatoren einundneunzig und hundert mit count zwei und is_self_number falsch; n gleich einundzwanzig liefert generators, die nur fünfzehn enthalten; n gleich zwanzig liefert leeres Array, count null und is_self_number wahr; n gleich eins ist ebenfalls eine Selbstzahl. Kombinieren Sie das JSON mit eigener Arbeitsblatt-Prosa, falls Sie schrittweise Ziffernentfaltungen brauchen; dieser Endpunkt liefert nur die Generatorliste und Metadaten.
Wo eine Digitaditions-Generatoren-API ihren Nutzen hat
Forschungsnotebooks zur Dichte von Selbstzahlen können die API stapelweise aufrufen und das count-Feld speichern, ohne Ziffernsummen-Schleifen in jeder Sprache neu zu implementieren. Weil die Implementierung reines parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.
Technische Fragen
Warum muss n mindestens 1 sein?
Digitaditions-Generatoren sind für positive ganzzahlige Ziele definiert. Werte von n unter eins werden mit invalid_input abgelehnt und nicht berechnet.
Wie wird diese Fähigkeit abgerechnet?
Im Browser ist die Nutzung gratis. Über die API zahlt jede erfolgreiche Anfrage den veröffentlichten Satz $0.002 aus dem vorab geladenen KIT-Guthaben; fehlerhafte Eingaben werden nicht berechnet.