Modulare Division
Dividieren Sie in modularer Arithmetik: 8 geteilt durch 3 modulo 11 ergibt 10, denn das Inverse von 3 ist 4, und 3 mal 10 lässt den Rest 8. Sie erhalten außerdem das Inverse, den ggT und einen Kontrollwert. 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
- 8
- B
- 3
- N
- 11
- A modulo
- 8
- B modulo
- 3
- Umkehrfunktion
- 4
- Quotient
- 10
Modulare Division sucht ein Residuum q, sodass b mal q kongruent a modulo n ist. In der gewöhnlichen Arithmetik dividieren Sie einfach; in der modularen Arithmetik ist Division die Multiplikation mit dem modularen Inversen des Divisors. Dieses Inverse existiert nur, wenn b und n teilerfremd sind. Kryptografie-Labore, Wettbewerbsprogrammierung, Hausaufgaben zu endlichen Körpern und Übungen zu linearen Kongruenzen brauchen diese Operation, doch viele Sprachen liefern nur einen GCD oder ein bloßes modulares Inverses und überlassen Ihnen den Multiplikationsschritt. Dieser Rechner nimmt die ganzen Zahlen a, b und den Modul n, invertiert b modulo n mit dem erweiterten euklidischen Algorithmus, wenn möglich, multipliziert mit a und liefert den eindeutigen nichtnegativen Quotienten von null bis n minus eins, zusammen mit dem Inversen, dem gcd und einem Prüfprodukt, damit Sie das Ergebnis prüfen können, ohne die Schritte neu abzuleiten.
Was modulare Division bedeutet und wann sie definiert ist
In den ganzen Zahlen hat jede von null verschiedene Zahl ein Reziprokes in den rationalen Zahlen, sodass Division außerhalb von null immer definiert ist. Modulo n ist das Bild strenger: Residuen bilden einen Ring, und nur Einheiten—Elemente mit multiplikativem Inversen—dürfen als legale Divisoren auftreten. Wir sagen, q sei ein modularer Quotient von a geteilt durch b modulo n, wenn b mal q denselben Rest lässt wie a, wenn beide Produkte modulo n reduziert werden.
Äquivalent ist q kongruent zu a mal dem Inversen von b modulo n. Das Inverse von b existiert genau dann, wenn der gcd von b und n gleich eins ist; sonst teilt jedes Vielfache von b einen Faktor mit n und kann nicht jede Restklasse treffen, sodass kein einziges q für beliebiges a funktioniert.
Ingenieure und Studierende stoßen auf diese Hürde, wenn sie in einem zusammengesetzten Modul teilen, der kein Primkörper ist, wenn sie einen Koeffizienten in einer linearen Kongruenz kürzen oder wenn sie eine modulare Multiplikation in einem Hash- oder Chiffrierschritt rückgängig machen. Beachten Sie, dass a selbst nicht teilerfremd zu n sein muss; nur der Divisor b muss eine Einheit sein. Diese Asymmetrie vergisst man leicht, wenn man nur den Spezialfall des modularen Inversen mit a gleich eins im Kopf hat.
Praktische Nutzung, Grenzen, Preise und Bereitstellung
Nutzen Sie das Browser-Werkzeug, wenn Sie einen schnellen modularen Quotienten wünschen, während Sie eine zahlentheoretische Notiz lesen, eine Hausaufgabe der Form b x kongruent a mod n prüfen oder eine modulare Pipeline debuggen, die bereits von Hand mit Inversen multipliziert. Akzeptierte Eingaben sind ganze Zahlen a und b mit Absolutbetrag höchstens eine Billion und Module n von zwei bis eine Billion. Ergebnisse sind deterministisch: dasselbe Tripel liefert immer dieselben Felder quotient, inverse und check.
Verdrahten Sie den Endpunkt in Wettbewerbshelfer, Demos endlicher Körper, RSA-Lehrsandkästen, die mehr als bloße Inverse brauchen, oder jede ganzzahlige Pipeline, die exakte Arithmetik heuristischen Gleitkommaverfahren vorzieht. Wenn Sie nur das Inverse von b ohne Multiplikation mit a brauchen, bevorzugen Sie die dedizierte Fähigkeit für modulare Inverse; diese Seite zielt auf die volle Divisionsabsicht, die Suchende als modulare Division oder a geteilt durch b mod n formulieren.
Anwendungsfälle
Krypto- und Endliche-Körper-Lehrlabore
Lehrende und Studierende können Körperelemente modulo einer Primzahl teilen oder den gcd prüfen, wenn ein beispielhaftes zusammengesetztes Modul den Divisor nicht invertierbar macht.
Hausaufgabenprüfer und lineare Kongruenzen
Automatische Bewerter können Lösungen von b x ≡ a (mod n) anhand des gelieferten Quotienten prüfen und Fälle ablehnen, in denen keine eindeutige Restklasse existiert.
Häufige Fragen
Was geschieht, wenn b modulo n nicht invertierbar ist?
Die Meldung enthält gcd(b, n), damit Sie wissen, warum die modulare Division undefiniert ist. Fehlgeschlagene Validierung wird nicht berechnet.
Wie wird der Quotient berechnet?
Der erweiterte euklidische Algorithmus findet b⁻¹ mod n, wenn gcd(b, n) = 1; der Rechner multipliziert dieses Inverse dann mit a modulo n mit exakter Integer-Arithmetik.
Welche Bereiche von a, b und n werden akzeptiert?
n muss eine ganze Zahl von 2 bis 1,000,000,000,000 sein. a und b müssen ganze Zahlen sein, deren Absolutbetrag höchstens dieselbe Grenze ist. Werte außerhalb dieser Grenzen werden abgelehnt.
Was ergibt 8 geteilt durch 3 modulo 11?
Das Ergebnis ist 10. Das Inverse von 3 modulo 11 ist 4, und 8 mal dieses Inverse ergibt den Quotienten 10. Zur Kontrolle: 3 mal 10 lässt bei Division durch 11 den Rest 8.
Muss auch a teilerfremd zu n sein?
Nein. Nur der Divisor b muss modulo n invertierbar sein, also mit n den ggT 1 haben. Der Dividend a darf gemeinsame Teiler mit n haben; das wird leicht übersehen.
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/modular-division \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":8,"b":3,"n":11}'const res = await fetch("https://api.kit.forhosting.com/numth/modular-division", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 8,
"b": 3,
"n": 11
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/modular-division",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 8,
"b": 3,
"n": 11
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/modular-division", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":8,"b":3,"n":11}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":8,"b":3,"n":11}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/modular-division", 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": 8,
"b": 3,
"n": 11
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.modular_division",
"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.
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 modulare Division bedeutet und wann sie definiert ist
Ein expliziter invalid_input-Fehler, wenn b nicht invertierbar ist, ist nützlicher als ein stilles falsches Residuum: der Client erfährt, dass Division für dieses Paar undefiniert ist, und kann anhand des gemeldeten gcd verzweigen, statt einer halbgaren Bibliothek zu vertrauen.
Wie dieser Rechner b invertiert und mit a multipliziert
Rufen Sie die Fähigkeit mit den ganzzahligen Feldern a, b und n auf, wobei n mindestens zwei ist. Die Implementierung reduziert zuerst a und b zu nichtnegativen Residuen a_mod und b_mod im Bereich null bis n minus eins und führt dann den erweiterten euklidischen Algorithmus auf b_mod und n aus. Jeder Schritt speichert den ganzzahligen Quotienten und aktualisiert die Bézout-Koeffizienten so, dass am Ende der Koeffizient von b_mod mal b_mod plus ein Koeffizient von n dem gcd gleicht. Ist dieser gcd nicht eins, schlägt die Anfrage mit invalid_input und einer Meldung fehl, die b, n und den gcd nennt; es wird nichts berechnet. Ist der gcd eins, wird der Koeffizient von b_mod in null bis n minus eins reduziert und als inverse gespeichert. Das modulare Produkt von a_mod und inverse wird dann mit exakter BigInt-Arithmetik gebildet, damit große Residuen bis zur veröffentlichten Grenze korrekt bleiben, und das Produkt wird als quotient zurückgegeben. Die Antwort wiederholt außerdem a, b, n, a_mod, b_mod, gcd und check gleich b_mod mal quotient modulo n, was bei Erfolg a_mod gleichen muss. Die Absolutbeträge von a und b sowie der Modul n sind durch eine Billion begrenzt, damit jedes Zwischenprodukt im sicheren Integer-Regime des Workers bleibt.
Praktische Nutzung, Grenzen, Preise und Bereitstellung
Nutzen Sie die API, wenn ein Skript, ein Bewerter oder eine Lernplattform viele Divisionen braucht, ohne eine erweiterte-GCD-Routine und einen sorgfältigen multiply-mod-Schritt einzubetten. Jede erfolgreiche Anfrage ist ein abrechenbares Element zu $0.002; Validierungsfehler und nicht invertierbare Divisoren werden nicht berechnet. 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.
Integrationsbeispiele
Wettbewerbsprogrammierung und modulare Arithmetik
Wettbewerbsprogrammierer können a/b mod n unter Prim- oder zusammengesetzten Moduln berechnen und nicht invertierbare Divisoren per invalid_input abfangen statt ad-hoc-Snippets für erweiterten GCD zu versenden.
Technische Fragen
Wie berechne ich die modulare Division a ÷ b mod n?
Senden Sie JSON mit den ganzzahligen Feldern a, b und n (n ≥ 2) an numth.modular_division. Bei Erfolg liefert die Antwort quotient in 0..n−1, plus das Inverse von b, a_mod, b_mod, gcd und check gleich a_mod.
Ist der Rechner für modulare Division 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 oder nicht invertierbare Eingaben werden nicht berechnet.