Rechner für die Engel-Entwicklung positiver Brüche
Dieser Rechner wandelt jede positive rationale Zahl in ihre exakte Engel-Entwicklung als Produktsumme um.
Im Browser ausführen – kostenlos
Geben Sie einen Bruch wie 4/13 ein; Sie erhalten die nicht fallende Folge der Engel-Nenner, die zugehörigen Stammbruchglieder und eine gekürzte Fassung der Eingabe. Sämtliche Rechenschritte verwenden Ganzzahlarithmetik. Periodische Dezimalnäherungen oder Rundungsfehler bei Gleitkommazahlen können das Ergebnis daher nicht verändern. Das Werkzeug eignet sich für das Studium der Zahlentheorie, ausgearbeitete Beispiele, symbolische Kontrollen und reproduzierbare Softwaretests, bei denen eine kanonische Entwicklung benötigt wird.
Was eine Engel-Entwicklung darstellt
Eine Engel-Entwicklung schreibt eine positive reelle Zahl als Summe, deren Nenner fortlaufende Produkte sind. Lautet die ausgegebene Liste a1, a2, a3, so ist der dargestellte Wert 1/a1 + 1/(a1 a2) + 1/(a1 a2 a3); für jeden weiteren Eintrag wird dieses Muster fortgesetzt. Bei einer positiven rationalen Eingabe endet das Verfahren, sodass der Rechner eine endliche Liste und einen endlichen Ausdruck liefert. Die Nenner sind nicht fallend, woraus die charakteristische geordnete Struktur entsteht. Das unterscheidet die Darstellung von einer gewöhnlichen ägyptischen Bruchzerlegung: Beide verwenden Stammbrüche, doch bei einer Engel-Entwicklung wird jedes neue Glied durch das Produkt aller zuvor gewählten Nenner bestimmt. Die Ausgabe enthält sowohl die reine Nennerliste für mathematische Arbeiten oder Programme als auch die ausgeschriebenen Produktsummenglieder zur leichteren Prüfung. Zunächst wird der Eingabebruch gekürzt. Gleichwertige Eingaben wie 8/26 und 4/13 ergeben deshalb denselben normalisierten Bruch und dieselbe Entwicklung.
So arbeitet der exakte Algorithmus
Die Berechnung beginnt mit dem aktuellen positiven rationalen Wert p/q und wählt als nächsten Nenner die Aufrundung von q/p. Diese Auswahl erfolgt durch Ganzzahldivision, ohne den Bruch in eine Dezimalzahl umzuwandeln. Anschließend wird der Rest nach der Engel-Rekursion verändert: p wird durch a mal p minus q ersetzt, q bleibt erhalten, und der entstehende Bruch wird mit seinem größten gemeinsamen Teiler gekürzt. Ist der neue Zähler null, ist die Entwicklung abgeschlossen; andernfalls werden dieselben Schritte wiederholt. Für Zähler, Nenner, Aufrundungen, Produkte und Kürzungen kommen Ganzzahlen beliebiger Genauigkeit zum Einsatz. Das Ergebnis bleibt deshalb auch jenseits des sicheren JavaScript-Ganzzahlbereichs exakt. Die Implementierung weist fehlerhaften Text, null, negative Werte und einen Nullnenner zurück, statt eine Bedeutung zu erraten. Grenzen für Eingabegröße und Folgenlänge sorgen für eine vorhersehbare Ausführung. Derselbe gültige Bruch erzeugt somit im Browser und über die API stets identische mathematische Daten.
Das Ergebnis lesen und verwenden
Nutzen Sie zuerst das Nennerfeld, wenn Sie die kanonische Engel-Folge benötigen. Die Einträge werden als Zeichenketten ausgegeben, damit sehr große Ganzzahlen auch in JSON-Systemen exakt bleiben, die nicht jeden Zahlenwert sicher darstellen können. Das Längenfeld nennt die Anzahl der Nenner und damit der Stammbruchglieder. Das Entwicklungsfeld multipliziert die ausgewählten Nenner fortlaufend und zeigt jeden Kehrwert an. Dadurch lässt sich die Summe unabhängig mit rationaler Arithmetik prüfen. Im Unterricht können Sie jeden gewählten Nenner mit der Aufrundungsregel vergleichen und nach jedem Schritt den Rest berechnen. Verwenden Sie bei Softwaretests den normalisierten Bruch und die Nennerliste als stabile Sollwerte; gleichwertige ungekürzte Eingaben prüfen zusätzlich die Normalisierung. Diese Fähigkeit nimmt ausschließlich positive Brüche an. Sie berechnet keine unendliche Entwicklung für irrationale Dezimalzahlen, deutet keine gemischten Zahlen und nähert keine Gleitkommawerte an. Über die API kostet jede Anfrage $0.002. Browser und API verwenden denselben reinen Löser und folgen daher genau denselben Rechenregeln.
Anwendungsfälle
Eine zahlentheoretische Aufgabe prüfen
Vergleichen Sie eine von Hand ermittelte Engel-Folge mit dem exakten Ergebnis und untersuchen Sie die kumulativen Produktglieder.
Deterministische Testvektoren erstellen
Erzeugen Sie stabile Sollwerte für Bibliotheken zur rationalen Arithmetik, ohne von Gleitkommanäherungen abhängig zu sein.
Rationale Darstellungen veranschaulichen
Zeigen Sie, wie die Aufrundungsrekursion einen positiven Bruch in eine geordnete Produktsummenentwicklung umformt.
Häufige Fragen
Welches Eingabeformat wird akzeptiert?
Verwenden Sie zwei positive Ganzzahlen zur Basis 10, getrennt durch einen Schrägstrich, etwa 4/13. Umgebende Leerzeichen und ein optionales Pluszeichen sind zulässig.
Kann ich null oder einen negativen Bruch eingeben?
Nein. Eine Eingabe mit einem nicht positiven Zähler oder Nenner führt zu einem Fehler wegen ungültiger Eingabe.
Warum werden die Nenner als Zeichenketten ausgegeben?
Zeichenketten bewahren Ganzzahlen beliebiger Genauigkeit bei der JSON-Codierung ohne Informationsverlust.
Ist das dasselbe wie eine ägyptische Bruchentwicklung?
Nicht genau. Die Nenner der Engel-Glieder entstehen aus den fortlaufenden Produkten einer nicht fallenden Folge, wodurch eine zusätzliche Strukturvorgabe gilt.
Verwendet der Rechner Dezimalnäherungen?
Nein. Auswertung, Aufrundungen, Kürzungen mit dem größten gemeinsamen Teiler und Produkte beruhen vollständig auf exakter Ganzzahlarithmetik.
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/engel-expansion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fraction":"4/13"}'const res = await fetch("https://api.kit.forhosting.com/numth/engel-expansion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fraction": "4/13"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/engel-expansion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fraction": "4/13"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/engel-expansion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fraction":"4/13"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fraction":"4/13"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/engel-expansion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"fraction": "4/13"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.engel_expansion",
"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. |