Darstellung als Summe dreier Quadrate
Dieser Rechner zur Darstellung als Summe dreier Quadrate nimmt eine nichtnegative ganze Zahl entgegen und findet konkrete ganze Zahlen a, b und c mit n = a² + b² + c².
Im Browser ausführen – kostenlos
Vor der Suche wendet er außerdem Legendres Drei-Quadrate-Satz an. Eine Zahl der verbotenen Form 4^a(8b+7) führt deshalb zu einer eindeutigen Fehlermeldung statt zu einer erfolglosen Berechnung. Das Ergebnis enthält die drei Terme, eine lesbare Gleichung und einen Prüfhinweis. Damit eignet es sich für Studium, Softwaretests und exakte zahlentheoretische Abläufe.
Machen Sie aus einem Existenzsatz eine konkrete Darstellung
Legendres Drei-Quadrate-Satz liefert ein vollständiges Kriterium dafür, ob sich eine nichtnegative ganze Zahl als Summe von drei ganzzahligen Quadraten schreiben lässt. Die bloße Gewissheit, dass eine Darstellung existiert, ist jedoch häufig erst der Anfang. Aufgaben, Beweise, Testdaten und rechnergestützte Untersuchungen benötigen meist die tatsächlichen Werte. Geben Sie n ein; der Rechner liefert ein deterministisches Tripel in aufsteigender Suchreihenfolge und eine Gleichung, die Sie unmittelbar prüfen können. Null ist zulässig, ebenso einzelne Nullterme, denn eine Darstellung kann mit weniger als drei von null verschiedenen Quadraten auskommen. Ein vollständiges Quadrat kann beispielsweise mit zwei Nulltermen ausgegeben werden. Das Array squares enthält die Basen und nicht die bereits quadrierten Werte: [1, 2, 3] bedeutet somit 1² + 2² + 3². Die beigefügte Gleichung verhindert Missverständnisse, während das Prüffeld bestätigt, dass die Ganzzahlarithmetik vor der Ausgabe kontrolliert wurde. Wiederholte Aufrufe mit derselben Eingabe liefern dieselbe Darstellung und eignen sich daher für reproduzierbare Dokumentation und automatisierte Tests.
Verstehen Sie die verbotene Form 4^a(8b+7)
Genau die nichtnegativen ganzen Zahlen, die sich als 4^a(8b+7) mit nichtnegativen ganzen Zahlen a und b schreiben lassen, können nicht als Summe dreier Quadrate dargestellt werden. Der Rechner prüft diese Bedingung, indem er wiederholt Faktoren von vier entfernt und anschließend den Rest modulo acht untersucht. Ist der reduzierte Wert kongruent zu sieben, existiert keine Darstellung. Die Anfrage liefert dann einen Fehler für ungültige Eingaben, der die verbotene Form ausdrücklich nennt. Dies ist eine mathematische Unmöglichkeit und weder eine Zeitüberschreitung noch ein unbestimmtes Suchergebnis. So ist 7 unmittelbar verboten, 28 wegen 4 × 7 und 112 auch nach dem Entfernen zweier Faktoren von vier. Ein bloßer Faktor vier schließt eine Zahl dagegen nicht automatisch aus; auch ihr reduzierter Anteil muss modulo acht den Rest sieben haben. Durch die Prüfung des Satzes lassen sich fehlerhafte Eingaben, nicht unterstützte Größen und gültige, aber nachweislich unlösbare Zahlen klar unterscheiden. Gleichzeitig entfällt eine unnötige Kandidatensuche, wenn die Mathematik die Frage bereits entschieden hat.
Nutzen Sie deterministische Ausgaben sicher in Programmen
Übermitteln Sie n als JSON-Ganzzahl oder als einfache dezimale Zeichenfolge. Zeichenfolgen sind praktisch, wenn ein Formular Text liefert; Vorzeichen, Leerraum, Dezimalpunkte, Trennzeichen und wissenschaftliche Schreibweise werden jedoch abgewiesen, damit die Bedeutung exakt bleibt. Eingaben sind auf den veröffentlichten Höchstwert begrenzt, sodass die Ausführung im Browser und über die API planbar ist. Für zulässige Werte durchsucht der Algorithmus das erste Quadrat aufsteigend und löst das verbleibende Zwei-Quadrate-Problem mit zwei gegenläufigen Ganzzahlzeigern. Er nutzt weder Netzwerk noch Zufall, Uhrzeit oder veränderlichen gemeinsamen Zustand. Dadurch bleiben das gefundene Tripel und jede Validierungsentscheidung bei Wiederholungen stabil. Lesen Sie in Ihrer Anwendung die drei Werte aus squares und berechnen Sie bei Bedarf a² + b² + c² selbst als lokale Prüfung; die Gleichung dient der Anzeige. Behandeln Sie eine Antwort zur verbotenen Form als mathematisches Domänenergebnis im üblichen Fehler für ungültige Eingaben und versuchen Sie sie nicht erneut. Die Browserversion verwendet denselben reinen Löser wie die API. Interaktiv ist die Nutzung hier kostenlos, eine API-Anfrage kostet $0.002.
Anwendungsfälle
Eine zahlentheoretische Aufgabe lösen
Ermitteln Sie konkrete Quadratterme, nachdem Legendres Satz die Existenz einer Darstellung bestätigt hat.
Deterministische Testdaten erzeugen
Erstellen Sie reproduzierbare Tripel und lesbare Gleichungen für Software zur Prüfung von Quadratsummen.
Unmögliche Eingaben einordnen
Erkennen Sie Zahlen aus der verbotenen Familie 4^a(8b+7) anhand eines eindeutigen mathematischen Fehlers.
Häufige Fragen
Was gibt diese Fähigkeit zurück?
Sie gibt n, ein Array mit den drei Basen, eine lesbare Gleichung und einen Prüfhinweis zurück.
Lässt sich jede nichtnegative ganze Zahl darstellen?
Nein. Genau ganze Zahlen der Form 4^a(8b+7) lassen sich nicht als Summe dreier Quadrate schreiben.
Sind Nullterme erlaubt?
Ja. Der Satz betrifft drei ganzzahlige Quadrate; eine oder mehrere dieser ganzen Zahlen dürfen null sein.
Ergeben wiederholte Anfragen dasselbe Tripel?
Ja. Die Suchreihenfolge ist deterministisch und verwendet weder Zufall noch Netzwerkdaten oder die aktuelle Zeit.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Sie können den Rechner auf dieser Seite auch kostenlos 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/sum-three-squares-rep \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":310}'const res = await fetch("https://api.kit.forhosting.com/numth/sum-three-squares-rep", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 310
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/sum-three-squares-rep",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 310
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/sum-three-squares-rep", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":310}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":310}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/sum-three-squares-rep", 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": 310
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_three_squares_rep",
"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 | 10000000 |
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. |