Länge einer Ziffernfakultätskette berechnen
Eine Ziffernfakultätskette beginnt mit einer nicht negativen ganzen Zahl. Diese wird durch die Summe der Fakultäten ihrer Dezimalziffern ersetzt, und der Vorgang wird wiederholt, bis ein Wert zum zweiten Mal erscheint.
Im Browser ausführen – kostenlos
Dieser Rechner gibt die Anzahl der verschiedenen Werte vor dieser ersten Wiederholung zurück. So untersuchen Sie dieses klassische Verfahren der Zahlentheorie schnell und exakt, ohne jede Fakultät von Hand auszurechnen oder die wachsende Folge selbst auf einen Zyklus zu prüfen.
So entsteht eine Ziffernfakultätskette
Beginnen Sie mit der nicht negativen ganzen Zahl, die Sie untersuchen möchten. Zerlegen Sie sie in ihre Dezimalziffern, bilden Sie die Fakultät jeder einzelnen Ziffer und addieren Sie diese Fakultäten. Das Ergebnis wird zum nächsten Wert, auf den dieselbe Regel erneut angewendet wird. Beim Startwert 69 ergibt sich beispielsweise 6! + 9! und damit 363600. Die Verarbeitung der Ziffern dieses Ergebnisses erzeugt den folgenden Wert, und die Kette wird auf genau diese Weise fortgesetzt. Der Rechner merkt sich jeden bereits aufgetretenen Wert. Sobald das nächste Ergebnis schon bekannt ist, befindet sich der Prozess in einem Zyklus und die Berechnung endet. Die ausgegebene Länge zählt nur unterschiedliche besuchte Werte einschließlich der Ausgangszahl; das wiederholte Auftreten wird nicht ein zweites Mal mitgezählt. Dadurch lassen sich Startwerte eindeutig vergleichen. Die Null wird als eigenständige Dezimalziffer behandelt, sodass 0! gleich 1 ist. Rundungen oder Näherungen kommen in keiner Phase der Berechnung zum Einsatz.
Die ausgegebene Länge richtig verstehen
Das Ergebnis besteht aus einer einzigen Länge und nicht aus der vollständigen Zwischenfolge. Es beantwortet die entscheidende Frage: Wie viele verschiedene Glieder treten auf, bevor eine Wiederholung beginnt? Betrachten Sie eine Kette, die einen bereits einige Schritte zuvor gesehenen Wert erreicht. Jedes Glied bis zu seinem ersten Auftreten erhöht die Länge um eins. Das zweite Auftreten kennzeichnet dagegen den Abbruchpunkt und fügt nichts hinzu. Diese Definition erfasst sowohl Fixpunkte als auch längere Zyklen. Wird ein Wert unmittelbar wieder auf sich selbst abgebildet, bildet er als Startwert eine Kette der Länge eins. Durchläuft der Start zunächst mehrere andere Werte und erreicht später diesen Fixpunkt, werden alle unterschiedlichen Werte auf dem Weg gezählt. Verschiedene Ausgangszahlen können in denselben späteren Pfad münden und dennoch andere Längen besitzen, weil sich ihre individuellen Präfixe unterscheiden. Der Algorithmus arbeitet mit exakter Arithmetik für sichere ganze Zahlen, prüft die Eingabe vorab und speichert die Zugehörigkeit ausdrücklich. Er benötigt weder eine vermutete Iterationsgrenze noch eine mathematische Abkürzung.
Den Rechner zuverlässig verwenden
Geben Sie im Feld n eine nicht negative sichere ganze Zahl ein. Ganze Zahlen sind erforderlich, weil Dezimalbrüche nicht die für diesen Vorgang vorgesehene Ziffernfolge besitzen; negative Zahlen liegen außerhalb des festgelegten Definitionsbereichs. Die Browserversion eignet sich für einzelne Versuche, Vorführungen im Unterricht und Kontrollen beim Studium von Fakultätsketten. Die API ist sinnvoll, wenn ein Programm mehrere ausgewählte Eingaben vergleichen, Aufgaben erstellen oder anderweitig gewonnene Ergebnisse überprüfen soll; jede Anfrage kostet $0.002. Die Berechnung ist deterministisch: Dieselbe ganze Zahl liefert stets dieselbe Länge, ohne Netzwerkaufrufe, Zufall, aktuelle Uhrzeit oder externe Daten. Obwohl die Umwandlung anfangs eine größere Zahl hervorbringen kann, gelangen Ziffernfakultätssummen schnell in einen endlichen, begrenzten Bereich. Das Speichern besuchter Werte ergibt daher ein natürliches Abbruchkriterium. Bewahren Sie für reproduzierbare Arbeiten die ursprüngliche Eingabe und die ausgegebene Länge auf, und weisen Sie beim Vergleich mit anderen Quellen darauf hin, dass das wiederholte Auftreten selbst ausgeschlossen ist.
Anwendungsfälle
Zahlentheoretische Folgen untersuchen
Messen Sie, wie weit ein Startwert gelangt, bevor sein Ziffernfakultätsverfahren ein wiederholtes Glied erreicht.
Lernaufgaben kontrollieren
Prüfen Sie eine von Hand berechnete Ziffernfakultätskette und die einheitliche Zählung ihrer verschiedenen Glieder.
Ausgewählte Startwerte vergleichen
Rufen Sie die API für mehrere ganze Zahlen auf und vergleichen Sie deren Kettenlängen in einem reproduzierbaren Versuch.
Häufige Fragen
Was zählt die Länge genau?
Sie zählt die verschiedenen Werte von der Ausgangszahl bis zum letzten neuen Wert vor der ersten Wiederholung. Das wiederholte Auftreten wird nicht erneut gezählt.
Ist die Ausgangszahl enthalten?
Ja. Die Ausgangszahl ist der erste unterschiedliche Wert der Kette und trägt eins zur ausgegebenen Länge bei.
Wie wird die Ziffer Null behandelt?
Die Null trägt 0! bei, also 1. Ein Startwert von null führt daher als Nächstes zu eins.
Darf n negativ oder gebrochen sein?
Nein. Die Eingabe muss eine nicht negative sichere ganze Zahl sein. Negative Werte und Brüche führen zu einem Fehler wegen ungültiger Eingabe.
Was kostet eine API-Anfrage?
Eine API-Anfrage kostet $0.002. Sie können den Rechner außerdem direkt in Ihrem Browser ausführen.
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/digit-factorial-chain \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":69}'const res = await fetch("https://api.kit.forhosting.com/numth/digit-factorial-chain", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 69
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/digit-factorial-chain",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 69
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/digit-factorial-chain", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":69}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":69}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/digit-factorial-chain", 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": 69
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.digit_factorial_chain",
"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. |