Legendre-Symbol (a/p)
Das Legendre-Symbol (2/7) ist 1, also ist 2 ein Quadrat modulo 7: 3 mal 3 ist 9, und das lässt den Rest 2. Geben Sie eine ganze Zahl und eine ungerade Primzahl ein und erhalten Sie 1, −1 oder 0 mit verständlicher Deutung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- A
- 2
- Leistung (W)
- 7
- A modulo
- 2
- Symbolwert
- 1
- Deutung
- a is a quadratic residue modulo p
Das Legendre-Symbol ist der klassische zahlentheoretische Test auf quadratische Residuizität modulo einer ungeraden Primzahl. Gegeben ein ganzzahliges a und eine ungerade Primzahl p, ist das Symbol (a/p) null, wenn p a teilt, eins, wenn a ein von null verschiedenes Quadrat modulo p ist, und minus eins, wenn a ein quadratisches Nichtresiduum ist. Kryptographie-Kurse, primzahlbezogene Algorithmen, Beweise kubischer und quadratischer Reziprozität sowie Wettbewerbsprogrammieraufgaben stützen sich auf diesen dreiwertigen Indikator. Viele Sprachen bieten modulare Exponentiation, überlassen Residuizitätskonvention und Primprüfung jedoch Ihnen. Dieser Rechner akzeptiert a und p, prüft dass p eine ungerade Primzahl ist, wendet Eulers Kriterium deterministisch an und liefert das Symbol zusammen mit dem reduzierten Residuum von a und einer kurzen Interpretation, sodass Sie das Ergebnis nutzen können ohne die modulare Potenz von Hand neu abzuleiten.
Was das Legendre-Symbol aussagt
Das Legendre-Symbol beantwortet eine einfache Frage: Gibt es eine ganze Zahl, deren Quadrat bei Division durch die ungerade Primzahl p denselben Rest lässt wie a? Ist das so und ist a kein Vielfaches von p, lautet das Symbol 1. Gibt es kein solches Quadrat, lautet es −1. Teilt p die Zahl a, ist das Symbol 0. Von den Resten ungleich null ist genau die Hälfte ein Quadrat, die andere Hälfte nicht. Diese Unterscheidung taucht im quadratischen Reziprozitätsgesetz, in Kryptografiekursen und in Wettbewerbsaufgaben auf.
So wird es berechnet und worauf Sie achten sollten
Der Rechner prüft zuerst, ob p eine ungerade Primzahl zwischen 3 und einer Billion ist, und reduziert a auf einen Rest von 0 bis p minus 1. Dann wendet er das Euler-Kriterium an: a hoch (p − 1)/2 modulo p ergibt 1, p minus 1 oder 0. Diese Potenz wird exakt berechnet, ohne Rundung. Ein typischer Fehler ist, für p die 2 oder eine zusammengesetzte Zahl einzugeben; das Symbol ist dafür nicht definiert, und die Eingabe wird abgelehnt. Ein Ergebnis von 1 sagt außerdem nur, dass eine Quadratwurzel existiert, nicht welche.
Was das Legendre-Symbol bedeutet und warum es zählt
In der modularen Arithmetik ist die Frage „gibt es eine ganze Zahl x mit x im Quadrat kongruent zu a modulo p?“ grundlegend. Ist p eine ungerade Primzahl, fällt die Antwort in drei saubere Fälle.
Ist a durch p teilbar, wird das Symbol als null definiert. Ist a nicht durch p teilbar, sind die Hälfte der von null verschiedenen Reste Quadrate (quadratische Residuen) und die andere Hälfte Nichtresiduen; das Legendre-Symbol ist plus eins für Residuen und minus eins für Nichtresiduen. Diese Trichotomie erscheint im Gesetz der quadratischen Reziprozität, in Beweisen dass bestimmte diophantische Gleichungen keine Lösungen haben, in der Analyse des Tonelli–Shanks-Quadratwurzelalgorithmus und in Lehrbuchdarstellungen der Primideen von Miller–Rabin und Solovay–Strassen, die Eulers Kriterium mit einem behaupteten Jacobi-Wert vergleichen.
Wie dieser Rechner (a/p) mit Eulers Kriterium auswertet
Rufen Sie die Fähigkeit mit den ganzzahligen Feldern a und p auf, wobei p eine ungerade Primzahl zwischen drei und einer Billion einschließlich sein muss und a eine ganze Zahl mit Absolutbetrag höchstens einer Billion. Die Implementation validiert zuerst Typen und Grenzen und führt dann einen deterministischen Probedivisions-Primtest auf p aus. Eulers Kriterium besagt, dass a hoch (p minus eins) geteilt durch zwei modulo p dem Legendre-Symbol kongruent ist.
Der Rechner berechnet diese modulare Potenz mit exakter BigInt-Arithmetik, sodass Zwischenprodukte innerhalb der veröffentlichten Grenzen nie Präzision verlieren. Ist die Potenz eins, ist das Symbol eins. Ist die Potenz p minus eins, ist das Symbol minus eins.
Anwendungsfälle
Krypto- und Zahlentheorie-Lehrlabore
Lehrende und Studierende können quadratische Residuizität modulo ungerader Primzahlen auf Abruf prüfen und einen expliziten Fehler sehen, wenn ein Beispielmodul zusammengesetzt oder gerade ist.
Wettbewerbsprogrammierung und Reziprozität
Wettbewerbsprogrammierer können Legendre-Werte prüfen während sie Reziprozitätsprobleme lösen oder validieren dass ein Quadratwurzel-mod-p-Schritt gerechtfertigt ist.
Häufige Fragen
Was passiert, wenn p keine ungerade Primzahl ist?
Die Nachricht besagt dass p eine ungerade Primzahl sein muss (z. B. wenn p gerade oder zusammengesetzt ist). Fehlgeschlagene Validierung wird nicht berechnet.
Welcher Algorithmus berechnet das Symbol?
Eulers Kriterium: (a/p) ≡ a^((p−1)/2) (mod p). Die modulare Potenz wird mit exakter Ganzzahlarithmetik ausgewertet nach Reduktion von a modulo p und Prüfung dass p eine ungerade Primzahl ist.
Welche Bereiche von a und p werden akzeptiert?
p muss eine ungerade Primzahl von 3 bis 1,000,000,000,000 sein. a muss eine ganze Zahl mit Absolutbetrag höchstens derselben Grenze sein. Werte außerhalb, oder zusammengesetztes/gerades p, werden abgelehnt.
Ist 2 ein quadratischer Rest modulo 7?
Ja. Das Legendre-Symbol (2/7) ist 1, es gibt also ein Quadrat, das bei Division durch 7 den Rest 2 lässt. Zum Beispiel ist 3 zum Quadrat 9, und 9 geteilt durch 7 lässt den Rest 2.
Worin unterscheidet es sich vom Jacobi-Symbol?
Das Legendre-Symbol ist nur für ungerade Primzahlen als Modul definiert. Für zusammengesetzte ungerade Moduln gibt es das Jacobi-Symbol, das hier bewusst nicht berechnet wird; ein zusammengesetztes p wird abgelehnt.
Verwandte Tools
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/legendre-symbol \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-symbol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-symbol",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-symbol", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-symbol", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"a": 2,
"p": 7
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"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_abs | 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. |
Technische Hinweise
Was das Legendre-Symbol bedeutet und warum es zählt
Ein strukturiertes Objekt mit symbol, a_mod und interpretation erspart Aufrufern, eine rohe modulare Potenz auf die konventionelle Menge {−1, 0, 1} abzubilden und zu vergessen, dass p gleich zwei aus der klassischen Definition ausgeschlossen ist. Das Ablehnen zusammengesetzter oder gerader Moduln ist Teil des Vertrags: das Legendre-Symbol ist für jene Moduln nicht definiert, und eine stille Jacobi-artige Erweiterung würde Nutzer irreführen, die gezielt Legendre angefragt haben.
Wie dieser Rechner (a/p) mit Eulers Kriterium auswertet
Gerade Werte, Zusammengesetzte und p gleich zwei scheitern mit invalid_input und einer Nachricht die p nennt; es wird nichts berechnet. Wird p akzeptiert, wird a auf a_mod im Bereich null bis p minus eins reduziert. Ist a_mod null, ist das Symbol null. Jede andere Potenz würde ein nicht-primes Modul anzeigen und wird sicherheitshalber als invalid_input behandelt. Die Antwort enthält a, p, a_mod, symbol, residue (true, false oder null wenn das Symbol null ist) und interpretation.
Praxis, Grenzen, Preise und Lieferung
Nutzen Sie das Browser-Werkzeug, wenn Sie eine schnelle Residuizitätsprüfung beim Lesen einer Krypto-Notiz, beim Prüfen einer Hausaufgaben-Kongruenz oder beim Debuggen einer Quadratwurzel-mod-p-Routine wollen. Akzeptierte Eingaben sind ganze Zahlen a mit Absolutbetrag höchstens einer Billion und ungerade Primzahlen p von drei bis einer Billion. Wenn Sie das Jacobi-Symbol für zusammengesetzte ungerade Moduln oder eine explizite modulare Quadratwurzel brauchen wenn das Symbol eins ist, nutzen Sie eine dedizierte Fähigkeit oder einen Algorithmus; dieses Werkzeug stoppt bewusst bei der Legendre-Trichotomie. Nutzen Sie die API, wenn ein Skript, Bewerter oder Bildungsplattform viele Legendre-Auswertungen braucht ohne Eulers Kriterium und eine Primschranke einzubetten. Jede erfolgreiche Anfrage ist ein abrechenbarer Posten zu $0.002; Validierungsfehler und nicht-prime Moduln werden nicht berechnet. Ergebnisse sind deterministisch: dasselbe Paar liefert immer dasselbe Symbol, dasselbe a_mod und dieselbe Interpretationszeichenkette. Verdrahten Sie den Endpoint in Reziprozitätsdemos, Wettbewerbshelfer, Krypto-Lehr-Sandboxes oder jede Ganzzahlpipeline die exakte Arithmetik heuristischen Näherungen vorzieht. Weil die Einheit ein einzelner Posten und die Engine reines Parse ist, bleibt die Latenz niedrig und der kostenlose Webkanal spiegelt die bezahlte API ohne einen zweiten Codepfad der abdriften könnte.
Integrationsbeispiele
Hausaufgaben-Bewerter und symbolische Pipelines
Automatisierte Bewerter und Skripte können (a/p) ∈ {−1,0,1} bestätigen, nicht-primes p via invalid_input erkennen und jedes Zwischenprodukt in dokumentierten Grenzen halten.
Technische Fragen
Wie berechne ich das Legendre-Symbol mit dieser API?
Senden Sie JSON mit den ganzzahligen Feldern a und p (p ungerade Primzahl) an numth.legendre_symbol. Bei Erfolg liefert die Antwort symbol in {−1, 0, 1}, plus a_mod, residue und interpretation.
Ist der Legendre-Symbol-Rechner kostenlos?
Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Posten; ungültige Eingaben und nicht-prime Moduln werden nicht berechnet.