Summe zweier Quadrate
Der Rechner für Summen zweier Quadrate liefert r₂(n), also die genaue Anzahl geordneter ganzzahliger Paare (x, y), die x² + y² = n erfüllen.
Im Browser ausführen – kostenlos
Reihenfolge und Vorzeichen zählen, daher sind (1, 2), (2, 1), (-1, 2) und die weiteren Vorzeichenvarianten verschiedene Darstellungen. Geben Sie eine nicht negative ganze Zahl innerhalb des veröffentlichten Grenzwerts ein, um eine deterministische, aus der Primfaktorzerlegung abgeleitete Anzahl zu erhalten, ohne alle möglichen Koordinatenpaare aufzuzählen. Das Ergebnis eignet sich unmittelbar für Berechnungen und automatisierte Prüfungen.
Bedeutung der Anzahl geordneter Darstellungen
Dieser Rechner beantwortet eine klar umrissene zahlentheoretische Frage: Wie viele ganzzahlige Paare (x, y) erfüllen x² + y² = n? Das Wort geordnet ist dabei entscheidend. Sind x und y verschieden, entsteht durch Vertauschen eine weitere Darstellung. Auch die Vorzeichen zählen getrennt, sofern eine Koordinate nicht null ist. Ein geometrischer Punkt in einem Quadranten kann deshalb mehreren Punkten mit unterschiedlichen Vorzeichen auf einem Kreis entsprechen; der Rechner berücksichtigt sie alle. Punkte auf den Achsen sind ebenfalls enthalten. Ein Quadrat besitzt somit Darstellungen wie (a, 0), (-a, 0), (0, a) und (0, -a). Für den Sonderwert n = 0 gibt es genau eine Darstellung, nämlich (0, 0). Das ausgegebene Feld r_two folgt der üblichen Schreibweise r₂(n). Es enthält eine Anzahl und keine Liste von Paaren, weshalb die Ausgabe auch bei vielen Darstellungen übersichtlich bleibt. Als Eingabe ist eine nicht negative ganze Zahl erforderlich. Dezimalzahlen, unsichere Ganzzahlen, negative Zahlen und Werte oberhalb der festgelegten Grenze werden abgewiesen und weder gerundet noch stillschweigend umgedeutet.
So wird r₂(n) berechnet
Der Algorithmus faktorisiert n und wendet den klassischen Satz zur Anzahl von Darstellungen als Summe zweier Quadrate an. Für positives n entspricht r₂(n) dem Vierfachen der Differenz zwischen der Anzahl der Teiler, die modulo 4 kongruent zu 1 sind, und der Anzahl der Teiler, die modulo 4 kongruent zu 3 sind. Eine gleichwertige faktorisierte Form lässt sich schneller auswerten: Tritt ein zu 3 modulo 4 kongruenter Primfaktor mit ungeradem Exponenten auf, ist die Anzahl null. Andernfalls werden für alle zu 1 modulo 4 kongruenten Primfaktoren jeweils Exponent plus eins miteinander multipliziert; anschließend wird das Produkt mit vier multipliziert. Zweierpotenzen ändern dieses Produkt nicht. Es gilt etwa n = 65 = 5 × 13. Beide Primzahlen sind 1 modulo 4 und haben den Exponenten eins, also r₂(65) = 4 × 2 × 2 = 16. Die Implementierung nutzt ausschließlich deterministische Ganzzahldivision. Sie durchsucht kein Koordinatengitter, ruft keinen entfernten Dienst auf und verwendet keine probabilistischen Primzahltests. Der deklarierte Höchstwert begrenzt die Probefaktorisierung und sichert exakte Ergebnisse.
Das Ergebnis richtig verwenden
Verwenden Sie r_two, wenn Sie die vollständige vorzeichenbehaftete und geordnete Anzahl benötigen, wie sie in arithmetischen Formeln, Gitterpunktproblemen und bei Koeffizienten von Theta-Reihen vorkommt. Verwechseln Sie sie nicht mit der Anzahl wesentlich verschiedener Zerlegungen in zwei nicht negative Quadrate. Falls Sie nur Kombinationen mit 0 ≤ x ≤ y betrachten, müssen Sie die Symmetrie gesondert berücksichtigen: Ein Paar mit zwei verschiedenen, von null verschiedenen Koordinaten liefert acht geordnete Darstellungen mit Vorzeichen; ein Paar auf einer Achse liefert vier; ein Paar mit zwei gleichen, von null verschiedenen Koordinaten liefert ebenfalls vier. Diese Bahngrößen erklären, weshalb positive Werte von r₂(n) gewöhnlich durch vier teilbar sind. Der Nullfall ist eine Ausnahme, da nur der Ursprung infrage kommt. Existiert keine Darstellung, gibt die Fähigkeit regulär null aus; dies ist kein Eingabefehler. Senden Sie für automatisierte Abläufe die Ganzzahl im Feld n und lesen Sie r_two aus der Antwort. Jede API-Anfrage kostet $0.002; im Browser läuft dieselbe reine Berechnung. Bewahren Sie n zusammen mit r_two auf, damit spätere Prüfungen genau reproduzierbar bleiben.
Anwendungsfälle
Eine Aufgabe zur Zahlentheorie prüfen
Prüfen Sie die geordnete Anzahl mit Vorzeichen aus einer Primfaktorzerlegung oder einem Teilerargument.
Gitterpunkte auf einem Kreis zählen
Ermitteln Sie ohne Rastersuche, wie viele Punkte mit ganzzahligen Koordinaten auf x² + y² = n liegen.
Daten für Zahlenfolgen erzeugen
Berechnen Sie exakte Werte von r₂(n) für ausgewählte Ganzzahlen in Experimenten, Tests oder Theta-Reihen.
Häufige Fragen
Werden (x, y) und (y, x) getrennt gezählt?
Ja. Das Ergebnis zählt geordnete Paare, sodass vertauschte Koordinaten ein weiteres Paar bilden, außer wenn x gleich y ist.
Werden negative Koordinaten berücksichtigt?
Ja. Jedes ganzzahlige Paar mit Vorzeichen, das die Gleichung erfüllt, wird einbezogen.
Welchen Wert hat r₂(0)?
Der Wert ist 1, denn (0, 0) ist das einzige geordnete Ganzzahlpaar, dessen Quadratsumme null ist.
Warum kann das Ergebnis null sein?
Eine positive ganze Zahl besitzt keine Darstellung durch zwei Quadrate, wenn ein zu 3 modulo 4 kongruenter Primfaktor einen ungeraden Exponenten hat.
Gibt der Rechner die eigentlichen Paare aus?
Nein. Er liefert nur die exakte Anzahl r_two und nutzt die Faktorisierung, statt Koordinaten aufzuzählen.
Was kostet eine API-Anfrage?
Jede Anfrage kostet $0.002. Die Berechnung steht außerdem im Browser bereit.
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-two-squares-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":65}'const res = await fetch("https://api.kit.forhosting.com/numth/sum-two-squares-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 65
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/sum-two-squares-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 65
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/sum-two-squares-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":65}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":65}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/sum-two-squares-count", 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": 65
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_two_squares_count",
"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. |