Kleiner Satz von Fermat
2 hoch 6 modulo 7 lässt den Rest 1, wie der kleine Satz von Fermat vorhersagt. Geben Sie eine Basis a und eine Primzahl p ein und erhalten Sie den Rest von a hoch p minus 1 modulo p; zusammengesetzte Zahlen werden abgelehnt. 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
- Basis
- 2
- Primzahl
- 7
- Reduzierte Basis
- 2
- Exponent
- 6
- Rest
- 1
- Ausdruck
- 2^{6} ≡ 1 (mod 7)
Der kleine Satz von Fermat besagt: Ist p prim und a eine ganze Zahl, die nicht durch p teilbar ist, so ist a hoch p minus eins kongruent zu eins modulo p. Diese Identität trägt Fermat-Primzahltests, Inverse in einem Primkörper und Wettbewerbsaufgaben, die eine riesige Potenz ohne Ausmultiplizieren reduzieren. Dieser Rechner nimmt eine Basis a und einen primen Modul p entgegen, prüft, dass p wirklich prim ist, und liefert den exakten Rest von a hoch p minus eins modulo p per deterministischer BigInt-Modularpotenz. Sind a und p teilerfremd, ist der Rest eins — das ist der Satz; teilt p die Zahl a, ist der Rest null.
Was der kleine Satz von Fermat aussagt und was der Rest bedeutet
Der kleine Satz von Fermat sagt: Ist p eine Primzahl und a eine ganze Zahl, die kein Vielfaches von p ist, so ist a hoch p minus eins kongruent zu eins modulo p. In Symbolen: a hoch p minus eins kongruent zu eins mod p. Eine gleichwertige Form, die auch gilt, wenn p die Zahl a teilt, lautet a hoch p kongruent zu a modulo p.
Die erste Form wertet diese Fähigkeit aus: Sie berechnet den Rest von a hoch p minus eins modulo p und liefert ihn als Hauptergebnis. Sind a und p teilerfremd, ist der Rest stets eins — das ist der Satz; das ist die Prüfung, die Lernende in Hausaufgaben notieren, und die Identität, mit der man a modulo p invertiert, indem man a auf p minus zwei hebt.
Teilt p die Zahl a, fällt die Potenz modulo p auf null, weil jede positive Potenz eines Vielfachen von p wieder ein Vielfaches von p ist; der Rest ist null und das Flag coprime ist falsch. Negative Basen werden akzeptiert und vor der Potenz in den Bereich null bis p minus eins reduziert, was den Rest nichtnegativ hält und der üblichen Unterrichtskonvention der modularen Arithmetik entspricht.
Wo diese Prüfung besonders hilft
Zahlentheorie-Kurse und Wettbewerbsplattformen nutzen einen Rechner zum kleinen Satz von Fermat, damit Lernende a hoch p minus eins modulo p bestätigen können, ohne modulare Exponentiation von Hand umzusetzen und ohne einen zusammengesetzten Fermat-Lügner mit einer Primzahl zu verwechseln. Forschungsnotebooks und Freizeit-Skripte rufen denselben Vertrag auf, wenn sie ein unabhängiges Orakel für ein veröffentlichtes Beispiel wollen: zwei hoch sechs modulo sieben muss eins sein, drei hoch vier modulo fünf muss eins sein, und ein zusammengesetzter Modul wie neun muss abgelehnt statt reduziert werden.
Kryptographie-Workshops, die Fermat-Primzahltests oder Inverse in einem Primkörper vorstellen, brauchen ein Werkzeug, das einen zusammengesetzten Modul ablehnt, weil der didaktische Punkt die Hypothese des Satzes ist, nicht eine stille Modularpotenz, die plausibel wirkt. Fehlgeschlagene Validierung wird nicht berechnet. Behandeln Sie einen Nicht-prim-Fehler als erstklassiges Ergebnis in Ihrer Suite: Das ist der Vertrag, der verhindert, dass ein Fermat-Lügner als Treffer bewertet wird.
Anwendungsfälle
Unterrichts- und Hausaufgabenprüfungen
Lassen Sie Lernende eine Basis und eine behauptete Primzahl einreichen und prüfen, dass a^(p−1) mod p eins ist, wenn das Paar teilerfremd ist, oder dass ein zusammengesetzter Modul abgelehnt wird.
Krypto-Labore und Inverse im Primkörper
Bestätigen Sie a^(p−2) als Inverse von a modulo der Primzahl p, indem Sie zuerst prüfen, dass a^(p−1) ≡ 1 (mod p) für dasselbe Paar gilt, ohne eine Modularpotenz-Routine einzubetten.
Häufige Fragen
Was liefert dieser Rechner zum kleinen Satz von Fermat?
Senden Sie die ganzen Zahlen base (a) und prime (p).
Was geschieht, wenn der Modul nicht prim ist?
Der kleine Satz von Fermat verlangt einen primen Modul; zusammengesetzte Werte werden nicht reduziert und nicht berechnet.
Wann ist der Rest gleich eins?
Immer dann, wenn p prim ist und gcd(a, p) = 1. Das ist die klassische Aussage des kleinen Satzes von Fermat. Teilt p die Zahl a, ist der Rest null.
Werden negative Basen akzeptiert?
Ja. Eine negative Basis wird vor der Exponentiation in den Bereich 0 bis p−1 reduziert, sodass der Rest der übliche nichtnegative Rest ist.
Was passiert, wenn die Basis ein Vielfaches von p ist?
Der Rest ist 0, denn jede positive Potenz eines Vielfachen von p bleibt ein Vielfaches von p. Das ist der einzige Fall, in dem die Bedingung des Satzes nicht erfüllt ist, und das Ergebnis zeigt, dass a und p nicht teilerfremd sind.
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/math/fermats-little-theorem \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":2,"prime":7}'const res = await fetch("https://api.kit.forhosting.com/math/fermats-little-theorem", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": 2,
"prime": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/fermats-little-theorem",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": 2,
"prime": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/fermats-little-theorem", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":2,"prime":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":2,"prime":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/fermats-little-theorem", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"base": 2,
"prime": 7
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.fermats_little_theorem",
"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 | 9007199254740991 |
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
Zusammengesetzte Moduln werden mit invalid_input abgelehnt statt mit einem irreführenden Rest, damit Hausaufgaben-Skripte einen Fermat-Lügner niemals als Primzahl behandeln.
Was der kleine Satz von Fermat aussagt und was der Rest bedeutet
Der Rechner liefert außerdem den Exponenten p minus eins, ein Boolean, das festhält, ob a und p keinen gemeinsamen Faktor haben, ein Flag congruent_to_one, das genau dann wahr ist, wenn der Rest eins ist, und eine kurze Kongruenzzeichenkette, die Sie neben die Antwort drucken können. Zusammengesetzte Moduln werden nicht reduziert: Die Aufgabe scheitert mit invalid_input, damit ein Fermat-Lügner wie dreihunderteinundvierzig sich nicht als Primzahl ausgibt.
Eingabevertrag, Algorithmus und Fehlerverhalten
Absolutbeträge sind durch die JavaScript-Safe-Integer-Grenze beschränkt, damit jedes Zwischenprodukt modular unter BigInt exakt bleibt. Ist p zusammengesetzt, eins, null oder negativ, scheitert die Anfrage mit einer Meldung, die prime nennt und angibt, dass der Wert nicht prim ist; diese Fehler werden nicht berechnet. Beispiel: Basis zwei und Primzahl sieben liefert Rest eins, weil zwei hoch sechs vierundsechzig ist und vierundsechzig minus neun mal sieben eins ergibt. Beispiel: Basis zehn und Primzahl fünf liefert Rest null, weil fünf die zehn teilt. Verknüpfen Sie die Antwort mit Ihren eigenen Notizen, wenn Sie einen geschriebenen Beweis brauchen; dieser Endpunkt liefert den Rest und die Flags, keine schrittweise Prosaableitung. Senden Sie per POST einen JSON-Körper mit zwei Pflicht-Ganzzahlfeldern: base, die ganze Zahl a der Potenz, und prime, der Modul p, der eine Primzahl mindestens zwei sein muss. Aliase a für base sowie p, modulus oder mod für prime werden akzeptiert, damit Unterrichtsmodelle, die das Paar bereits so beschriften, nicht umgeschrieben werden müssen. Jedes Feld darf als JSON-Ganzzahl oder als Ziffernkette ankommen; Booleans, leere Zeichenketten, Brüche und nicht endliche Werte scheitern mit invalid_input unter Nennung des Feldes. Bei Erfolg spiegelt der Körper base und prime, meldet reduced_base gleich a modulo p von null bis p minus eins, meldet exponent gleich p minus eins und meldet residue gleich reduced_base hoch diesem Exponenten modulo p. Die Flags coprime und congruent_to_one erlauben einem Bewerter, die klassische Aussage zu prüfen, ohne die Potenz neu abzuleiten.
Wo eine Fermat-Rest-API ihren Nutzen stiftet
Da die Implementierung reines Parse-Tier A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz. Halten Sie Anfragen innerhalb der veröffentlichten Ganzzahlgrenzen, pinnen Sie den Rest und das Flag congruent_to_one in Tests, und Sie erhalten einen reproduzierbaren Fermat-Rest für Hausaufgaben, LMS-Plugins und Edge-Worker, ohne ein eigenes Computeralgebrasystem aufzustellen.
Integrationsbeispiele
Automatische Klausur- und LMS-Bewertung
Bewerten Sie Aufgaben zum kleinen Satz von Fermat mit einem deterministischen Orakel, das zusammengesetzte Moduln als invalid_input scheitern lässt, statt einen Rest zu liefern, den ein fehlerhafter Bewerter als Erfolg werten könnte.
Technische Fragen
Was kostet der Rechner zum kleinen Satz von Fermat?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.