ForHosting KIT · Mathematik

Modulare n-te Wurzel

Finden Sie alle k-ten Wurzeln einer Zahl modulo einer Primzahl: Die Quadratwurzeln von 2 modulo 17 sind 6 und 11, der Reihe nach. Gibt es keine, erhalten Sie eine klare Antwort statt einer leeren Liste. 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
K
2
Leistung (W)
17
Erhalten Sie
A modulo
2
Anzahl der Wurzeln
2
Wurzeln
6, 11
ggT von k und φ
2

Eine modulare k-te Wurzel einer ganzen Zahl a modulo einer Primzahl p ist jeder Rest x, für den x hoch k kongruent zu a modulo p ist. Quadratwurzeln modulo Primzahlen erscheinen in Tonelli–Shanks-Tutorials, kubische und höhere Wurzeln in der Algebra endlicher Körper, und Kryptografie-Kurse brauchen ein verlässliches Orakel, das entweder alle Wurzeln auflistet oder klar ablehnt, wenn keine existieren. Dieser Rechner nimmt a, einen positiven Exponenten k und einen Primmodul p entgegen, reduziert a in den kanonischen Bereich von null bis p minus eins und liefert die vollständige geordnete Lösungsliste in diesem Körper.

Was modulare k-te Wurzeln sind und wann sie existieren

In der multiplikativen Gruppe eines Primkörpers hat jeder von null verschiedene Rest eine wohldefinierte Ordnung, die p minus eins teilt. Das Erheben von x zur k-ten Potenz ergibt eine Abbildung, deren Bild die Menge der k-ten Potenzreste ist. Für ein von null verschiedenes Ziel a hat die Kongruenz x hoch k kongruent a modulo p genau dann Lösungen, wenn a hoch (p minus eins) geteilt durch d kongruent eins ist, wobei d der größte gemeinsame Teiler von k und p minus eins ist.

Gilt dieses Kriterium, gibt es genau d verschiedene von null verschiedene Wurzeln. Der Nullrest ist besonders: null zu jeder positiven Potenz ist null, also hat a kongruent null die einzige Wurzel null. Zusammengesetzte Moduln liegen außerhalb dieses zyklischen Gruppenbildes und werden abgelehnt, damit der Solver nie so tut, als wäre ein Produkt nach dem chinesischen Restsatz eine Antwort im Primkörper.

Studierende begegnen Quadratwurzeln beim manuellen Prüfen von Legendre-Symbolen, höheren Wurzeln beim Studium zyklotomischer Nebenklassen oder diskreter Logarithmen und Existenzfehlern, wenn eine Hausaufgabe die Kubikwurzel eines nicht-kubischen Rests verlangt.

Wie dieser Rechner jede Wurzel findet

Rufen Sie die Fähigkeit mit den ganzzahligen Feldern a, k und p auf. Die Implementierung prüft zuerst, dass k eine positive ganze Zahl und p eine Primzahl innerhalb der veröffentlichten Grenze ist, mittels deterministischem Miller–Rabin-Test. Nach Reduktion von a modulo p liefert der Nullrest-Fall die einzige Wurzel null.

Für von null verschiedenes a berechnet sie d gleich dem ggT von k und p minus eins und wendet den Existenztest oben an. Ist d gleich eins, gibt es eine eindeutige Wurzel durch Erheben von a zur modularen Inversen von k modulo p minus eins — der Schnellpfad für teilerfremde Exponenten.

Ist d größer als eins, findet der Solver eine Primitivwurzel g modulo p, ermittelt den diskreten Logarithmus von a zur Basis g mit baby-step giant-step und löst die lineare Kongruenz k mal y kongruent diesem Logarithmus modulo p minus eins. Jede zurückgegebene Wurzel wird per modularer Exponentiation geprüft, bevor die Antwort gesendet wird. Absolutbeträge von a und k sind durch eine Billion begrenzt und die Primzahl p nahe einer Milliarde, damit baby-step-giant-step-Speicher praktikabel bleibt; würde d zehntausend Wurzeln überschreiten, wird die Anfrage abgelehnt statt den Client zu überfluten.

Kryptografie und Labore endlicher Körper

Lehrende und Studierende können jede Quadrat- oder höhere Wurzel modulo einer kleinen Primzahl auflisten, Existenzkriterien prüfen und gcd(k, p−1) inspizieren, wenn ein Beispielrest keine k-te Wurzel hat.

Wettbewerbsprogrammierung und modulare Algebra

Wettbewerbsprogrammierer können Lösungen von x^k ≡ a (mod p) gegen ein deterministisches Orakel prüfen statt selbstgebautem Tonelli–Shanks oder Brute-Force-Schleifen.

Was, wenn keine k-te Wurzel existiert?

Eine leere Erfolgsliste wird bei Nicht-Existenz nie zurückgegeben.

Welche Algorithmen nutzt der modulare n-te-Wurzel-Rechner?

Miller–Rabin zur Primzahlprüfung, modulare Inverse-Exponenten wenn gcd(k,p−1)=1, sonst Primitivwurzel, baby-step-giant-step diskreter Logarithmus und lineare Kongruenzlösung. Alle Pfade sind deterministisch.

Was sind die Quadratwurzeln von 2 modulo 17?

Es sind 6 und 11. Quadriert man eine der beiden und teilt durch 17, bleibt der Rest 2. Der Rechner zeigt beide aufsteigend sortiert und nennt die Anzahl der Wurzeln.

Wie viele Wurzeln kann es geben?

Wenn Wurzeln existieren, gibt es genau so viele wie den größten gemeinsamen Teiler von k und p − 1, also zwei Quadratwurzeln von 2 modulo 17. Null hat nur die Wurzel null; mehr als zehntausend Wurzeln werden abgelehnt.

Was passiert, wenn p keine Primzahl ist?

Dann wird die Eingabe abgelehnt. Der Rechner arbeitet nur modulo einer Primzahl, weil nur dort die saubere Regel für Existenz und Anzahl der Wurzeln gilt. Prüfen Sie p vorher oder wählen Sie eine Primzahl bis etwa eine Milliarde.

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/modular-nth-root

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/modular-nth-root \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":2,"k":2,"p":17}'
{
  "a": 2,
  "k": 2,
  "p": 17
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.modular_nth_root",
  "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.

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.

Ist p zusammengesetzt, schlägt die Anfrage mit invalid_input fehl; gilt das Existenzkriterium a hoch (p minus eins) geteilt durch den ggT von k und p minus eins nicht eins modulo p, schlägt die Anfrage ebenfalls fehl statt einer leeren Erfolgsliste. Dieselbe reine, deterministische Modul steuert das kostenlose Browser-Werkzeug und den vorausbezahlten API-Pfad, sodass Vorlesungsdemos und automatische Bewerter bei einer Wurzel nie abweichen.

Was modulare k-te Wurzeln sind und wann sie existieren

Ein hartes invalid_input bei Nicht-Existenz entspricht der Sprache zahlentheoretischer Texte, die von keiner Lösung sprechen, statt einer leeren Liste, die Abrechnungssysteme als Erfolg werten könnten.

Wie dieser Rechner jede Wurzel findet

Jede Lösung y liefert eine Wurzel g hoch y, und die verschiedenen Wurzeln werden aufsteigend sortiert für einen stabilen API-Vertrag.

Praktische Nutzung, Grenzen, Preis und Auslieferung

Nutzen Sie das Browser-Werkzeug, wenn Sie jede Quadrat- oder höhere Wurzel beim Lesen einer Krypto-Notiz, beim Prüfen von Contest-Ausgabe oder beim Bewerten einer Aufgabe zu endlichen Körpern wollen. Akzeptierte Eingaben sind ganze Zahlen a mit Absolutbetrag höchstens eine Billion, Exponenten k von eins bis eine Billion und Primzahlen p von zwei bis etwa eine Milliarde, vorbehaltlich der Sicherheitsgrenze der Wurzelanzahl. Nutzen Sie die API, wenn ein Skript, LMS-Plugin oder Forschungsnotebook viele modulare Wurzelabfragen braucht, ohne Tonelli–Shanks oder einen diskreten Logarithmus einzubetten. Jede erfolgreiche Anfrage ist ein abrechenbares Element zu $0.002; Validierungsfehler, zusammengesetzte Moduln und nachgewiesene Nicht-Existenz werden nicht berechnet. Die Antwort gibt a, k, p, das reduzierte a_mod, root_count, das aufsteigende roots-Array, gcd_k_phi gleich d, eine Anzeige-Gleichungszeichenkette und ein method-Tag mit dem Algorithmuspfad zurück. Binden Sie den Endpoint in Kryptografie-Sandboxes, Contest-Helfer und Demos algebraischer Zahlentheorie ein, die bereits exakte modulare Arithmetik gegenüber Gleitkomma-Näherungen bevorzugen. Weil die Einheit ein einzelnes Element ist und die Engine reines Parse, bleibt die Latenz niedrig und der kostenlose Webkanal spiegelt die bezahlte API ohne einen zweiten Codepfad, der abdriften könnte.

Aufgabenkorrektoren und Forschungsnotebooks

Automatische Bewerter und Skripte können Wurzelmengen bestätigen, zusammengesetzte Moduln per invalid_input ablehnen und jedes Zwischenprodukt in den dokumentierten Grenzen halten.

Wie berechnet man modulare k-te Wurzeln mit dieser API?

Senden Sie JSON mit den ganzzahligen Feldern a, k (≥ 1) und der Primzahl p an numth.modular_nth_root. Bei Erfolg liefert die Antwort roots als aufsteigendes Array, root_count, a_mod und gcd_k_phi.

Was passiert, wenn p keine Primzahl ist?

Die Anfrage schlägt mit invalid_input fehl. Dieser Rechner verlangt einen Primmodul, damit die multiplikative Gruppe zyklisch und das Existenzkriterium exakt ist. Fehlgeschlagene Validierung wird nicht berechnet.

Ist der modulare n-te-Wurzel-Rechner kostenlos?

Das Browser-Werkzeug läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Element; ungültige Eingabe und Nicht-Existenz-Fehler werden nicht berechnet.

Vollständige KIT-Dokumentation lesen →