ForHosting KIT · Mathematik

Quadratisches-Rest-Prüfer

Zeigt, ob eine Zahl modulo m eine Quadratwurzel hat, und listet alle Wurzeln auf: 2 ist ein Quadrat modulo 7, denn 3 zum Quadrat ist 9, das lässt den Rest 2, und die Wurzeln sind 3 und 4. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
A
2
Modul m
7
Erhalten Sie
A modulo
2
Wurzeln
3, 4
Anzahl Wurzeln
2

Eine ganze Zahl a ist ein quadratischer Rest modulo m, wenn eine ganze Zahl x erfüllt, dass x zum Quadrat kongruent zu a modulo m ist — mit anderen Worten, a hat eine modulare Quadratwurzel. Diese Ja-oder-Nein-Frage taucht in Kryptographie-Hausaufgaben, Wettbewerb-Zahlentheorie und jedem Workflow auf, der wissen muss, ob eine Kongruenz ein perfektes Quadrat ist, bevor Aufwand in einen größeren Löser fließt. Diese Fähigkeit nimmt a und einen Modul m (mindestens zwei), reduziert a in den kanonischen Bereich null bis m minus eins, sucht jede Wurzel in diesem Bereich und kann optional die vollständige Liste der quadratischen Restklassen modulo m zurückgeben.

Was ein quadratischer Rest ist

Eine Zahl a ist ein quadratischer Rest modulo m, wenn es eine ganze Zahl x gibt, deren Quadrat beim Teilen durch m denselben Rest wie a lässt. Anders gesagt: a hat modulo m eine Quadratwurzel. Modulo 7 ergibt 3 zum Quadrat 9, und 9 lässt den Rest 2, also ist 2 ein Quadrat, mit den Wurzeln 3 und 4. Die 3 dagegen erreicht kein Quadrat. Bei einer Primzahl hat jeder von null verschiedene Rest entweder zwei Wurzeln oder keine, bei zusammengesetzten Moduln können es mehr sein.

So prüft der Rechner und typische Fehler

Zuerst wird a auf seinen Rest zwischen 0 und m − 1 zurückgeführt, auch wenn a negativ oder größer als m ist. Dann probiert der Rechner jedes x in diesem Bereich genau einmal aus und sammelt alle Treffer. So beantwortet er nicht nur Ja oder Nein, sondern nennt jede Wurzel. Der Modul muss zwischen 2 und einer Million liegen. Ein häufiger Fehler ist, nur eine Wurzel zu notieren und die zweite zu vergessen; ein anderer, die 0 zu übersehen, die stets ein Quadrat ist.

Was quadratische Residualität für allgemeine Moduln bedeutet

In der elementaren Zahlentheorie bedeutet ein quadratischer Rest modulo einer Primzahl p üblicherweise eine ganze Zahl a, die nicht durch p teilbar ist und für die die Kongruenz x zum Quadrat gleich a modulo p eine Lösung hat; null wird oft gesondert als das triviale Quadrat besprochen. Für einen zusammengesetzten Modul m erweitert sich dieselbe Definition sauber: a ist ein quadratischer Rest modulo m, wenn mindestens eine ganze Zahl x existiert mit x zum Quadrat kongruent zu a modulo m, einschließlich des Falls a kongruent null.

Lösungen folgen Mustern, die von der Primzahlpotenz-Faktorisierung von m abhängen; zum Beispiel gibt es modulo einer Primzahl entweder null oder zwei von null verschiedene Wurzeln für jede von null verschiedene Restklasse, die ein Quadrat ist, während zusammengesetzte Moduln mehr Wurzeln zulassen können. Klassische Werkzeuge wie Legendre- und Jacobi-Symbole liefern schnelle Tests, wenn m eine ungerade Primzahl ist oder wenn Sie nur einen multiplikativen Charakter brauchen, listen aber nicht von selbst jede Wurzel für beliebiges m auf.

Ein direkter Scan von x von null bis m minus eins wertet jede Quadratklasse genau einmal aus und beantwortet daher sowohl Existenz als auch Aufzählung für jeden Modul innerhalb einer festen Größenschranke.

Wo modulare Quadratprüfungen in der echten Arbeit auftauchen

Wettbewerbsprogrammierer brauchen oft ein schnelles Orakel, bevor sie Tonelli–Shanks oder eine CRT-Kombination von Primzahlpotenz-Wurzeln aufrufen: ist das Restbit falsch, lohnt es nicht, eine Quadratwurzel zu konstruieren. Kryptographie-Studierende prüfen Beispiele für Rabin-artige Chiffren, Übungen zur quadratischen Reziprozität und Spielzeug-Diffie–Hellman-Varianten, die Restsymbole erwähnen. Ingenieure, die periodische Pläne oder Hash-Bucket-Experimente abgleichen, fragen manchmal, ob ein Schritt eine Quadratklasse modulo einer zusammengesetzten Periode ist.

Wenn Sie nur Ja-oder-Nein im Stil des Legendre-Symbols für eine große Primzahl jenseits der Scan-Grenze brauchen, faktorisieren oder reduzieren Sie zuerst; innerhalb der Obergrenze ist diese Seite die vollständige konstruktive Antwort.

Hausaufgaben- und Wettbewerbsprüfungen

Entscheiden Sie, ob a ein Quadrat modulo m ist, und lesen Sie jede Wurzel in 0..m-1 für zahlentheoretische Übungen, ohne einen vollen CRT-Löser zu bauen.

Vorfilter vor Wurzelextraktion

Verwerfen Sie Nichtreste früh in einer Pipeline, die sonst modulare Quadratwurzel-Algorithmen auf zusammengesetzten oder primen Moduln versuchen würde.

Was ist ein quadratischer Rest modulo m?

Eine ganze Zahl a ist ein quadratischer Rest modulo m, wenn eine ganze Zahl x mit x² ≡ a (mod m) existiert. Dieses Werkzeug meldet das und listet jedes solche x in 0..m-1.

Warum muss m mindestens 2 sein?

Modul 0 ist für Kongruenzen auf dieser Produktfläche undefiniert, und Modul 1 kollabiert jede ganze Zahl zu einer einzigen Klasse.

Welche Modulgröße wird unterstützt?

m muss eine ganze Zahl von 2 bis 1,000,000 inklusive sein. Der Kandidat a darf jede sichere ganze Zahl sein; er wird vor dem Scan modulo m reduziert.

Ist 3 ein quadratischer Rest modulo 7?

Nein. Quadriert man jeden Rest modulo 7, entstehen nur 0, 1, 2 oder 4. Keine ganze Zahl im Quadrat lässt also den Rest 3, und die Liste der Wurzeln bleibt leer.

Kann ich alle Quadrate modulo m auf einmal sehen?

Ja. Mit der Option für die vollständige Liste erhalten Sie jeden Rest, der als Quadrat vorkommt, aufsteigend sortiert und mit Anzahl. Modulo 7 sind das 0, 1, 2 und 4.

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.

POSThttps://api.kit.forhosting.com/numth/quadratic-residue

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/numth/quadratic-residue \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":2,"m":7}'
{
  "a": 2,
  "m": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.quadratic_residue",
  "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.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

min_m2
max_m1000000
max_abs_a9007199254740991
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Was quadratische Residualität für allgemeine Moduln bedeutet

Jenen erschöpfenden Ansatz implementiert dieser Endpunkt: nur deterministische Ganzzahlarithmetik, keine Gleitkomma-Rundung und eine stabile JSON-Form, die Sie in Tests assertieren können.

Eingabevertrag, Grenzen und Antwortfelder

Senden Sie die ganzen Zahlen a und m. Typische Unterrichtsprüfungen: zwei ist ein quadratischer Rest modulo sieben, weil drei zum Quadrat neun ist, was zwei mod sieben ist, und die Wurzeln sind drei und vier; drei ist kein quadratischer Rest modulo sieben. Nicht-Ganzzahlen, leere Pflichtfelder und Moduln über der Obergrenze scheitern an der Validierung mit einer klaren Meldung, die das Feld nennt. Der Modul m muss mindestens zwei und höchstens eine Million sein; Werte unter zwei werden mit invalid_input abgelehnt und nicht berechnet, weil modulare Arithmetik mit Modul null oder eins keine unterstützte Produktfläche ist. Der Kandidat a darf negativ oder größer als m sein; er wird vor der Quadratsuche auf a_mod im halboffenen Intervall von null inklusive bis m exklusive reduziert. Das optionale boolesche list_residues (Aliase list_all und all_residues) fordert jeden verschiedenen Wert von x zum Quadrat modulo m, aufsteigend sortiert, zusammen mit residue_count. Bei Erfolg enthält die Nutzlast stets a, m, a_mod, is_quadratic_residue, roots als die volle Liste der Lösungen von null bis m minus eins und root_count. Wenn list_residues für m gleich sieben wahr ist, erhalten Sie die sortierten Klassen null, eins, zwei und vier — das Bild der Quadrierungsabbildung auf dem Ring der ganzen Zahlen modulo sieben.

Wo modulare Quadratprüfungen in der echten Arbeit auftauchen

Lehrkräfte stellen Aufgaben wie alle quadratischen Reste modulo einundzwanzig aufzulisten oder zu entscheiden, ob fünf ein Quadrat modulo dreizehn ist, und wollen eine deterministische JSON-Antwort statt einer handgeschriebenen Tabelle mit möglichen Off-by-one-Fehlern. Weil die Fähigkeit eine reine Parse-Engine ist, gibt es keine Modelldrift, keinen externen API-Schlüssel und keinen gespeicherten Zustand: dasselbe Paar liefert stets dieselben Wurzeln und dieselbe optionale Restliste. Der API-Preis ist die veröffentlichte Basis von $0.002 pro erfolgreichem Element; fehlgeschlagene Validierung wird nicht berechnet.

Restklassen aufzählen

Setzen Sie list_residues auf wahr, um das sortierte Bild der Quadrierungsabbildung modulo m für Tabellen, Lehrfolien oder eigenschaftsbasierte Tests zu erhalten.

Gilt 0 als quadratischer Rest?

Ja. 0² ≡ 0 (mod m), daher ist a_mod = 0 stets ein Rest und enthält die Wurzel 0 (und möglicherweise weitere bei zusammengesetztem m).

Was kostet es?

Das Browser-Tool ist kostenlos und läuft lokal. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Element; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →