Teilerfremde Zahlen zu n vollständig auflisten
Ein Totativ von n ist eine positive ganze Zahl bis einschließlich n, die außer 1 keinen Faktor mit n gemeinsam hat.
Im Browser ausführen – kostenlos
Dieser Rechner liefert die vollständige, sortierte Liste und nicht nur den Wert der eulerschen Phi-Funktion. Geben Sie eine positive ganze Zahl ein, um den Ausgangswert, die Anzahl der passenden Zahlen und die Totative selbst zu erhalten. Damit können Sie Aufgaben zur modularen Arithmetik prüfen, reduzierte Restsysteme untersuchen und genau erkennen, welche Werte zur eulerschen Phi-Funktion beitragen.
Was die Totativliste darstellt
Die Totative von n sind genau die ganzen Zahlen von 1 bis n, deren größter gemeinsamer Teiler mit n gleich 1 ist. Haben zwei Zahlen den größten gemeinsamen Teiler 1, heißen sie teilerfremd oder relativ prim. Ein Kandidat wird beispielsweise ausgeschlossen, sobald er irgendeinen Primfaktor mit n teilt, auch wenn er n nicht teilt. Das zurückgegebene Array ist aufsteigend sortiert, da die Kandidaten ab 1 geprüft werden. Die Zahl 1 ist immer enthalten, weil sie zu jeder positiven ganzen Zahl teilerfremd ist. Der Endwert n selbst fehlt normalerweise, denn gcd(n, n) ist n; der Sonderfall n = 1 ergibt die Liste [1]. Die angegebene Anzahl entspricht der Listenlänge und damit der eulerschen Phi-Funktion phi(n). Diese Fähigkeit zeigt die tatsächlichen Elemente. Wenn Sie für eine sehr große ganze Zahl lediglich deren Anzahl benötigen, eignet sich ein reiner Phi-Rechner besser. Der Unterschied ist für die modulare Arithmetik wichtig, denn die Elemente bilden dort das reduzierte Restsystem modulo n.
So funktioniert die Berechnung
Der Rechner prüft n, bevor er eine arithmetische Operation ausführt. Er akzeptiert eine ganze Zahl oder eine als einfache Dezimalzeichenfolge geschriebene Ganzzahl, weist Brüche und nicht numerische Werte zurück und meldet einen Eingabefehler, wenn n kleiner als 1 ist. Außerdem setzt er die veröffentlichte Obergrenze durch, damit auch die Erzeugung eines möglicherweise großen JSON-Arrays im Browser und über die API vorhersehbar bleibt. Nach der Prüfung betrachtet der Algorithmus jede ganze Zahl von 1 bis n. Auf jeden Kandidaten wendet er den euklidischen Algorithmus an: Das Zahlenpaar wird wiederholt durch Divisor und Rest ersetzt, bis der Rest null ist. Der letzte von null verschiedene Divisor ist der größte gemeinsame Teiler. Nur wenn dieser Divisor 1 ist, gelangt der Kandidat ins Ergebnis. Das Verfahren verwendet exakte Ganzzahlarithmetik ohne Näherung, Faktordatenbank, Netzwerkanfrage, Zufall oder Uhrzeit. Daher erzeugt dieselbe Eingabe stets dieselbe sortierte Ausgabe. Die Anzahl wird aus dem fertigen Array abgeleitet und nicht separat berechnet, sodass Liste und angegebene Größe nicht voneinander abweichen können.
Das Ergebnis richtig verwenden
Verwenden Sie die Liste, wenn der nächste Schritt von den einzelnen Restklassen und nicht nur von deren Anzahl abhängt. In der elementaren Zahlentheorie lässt sich damit unmittelbar prüfen, welche Zahlen modulo n invertierbar sind: Jeder aufgeführte Wert besitzt ein multiplikatives Inverses modulo n, jeder ausgelassene Wert dagegen nicht. Im Kryptografieunterricht kann die Ausgabe veranschaulichen, warum ein Multiplikator zum Modul teilerfremd sein muss; sie ist jedoch ein arithmetisches Lernergebnis und kein System zur Schlüsselerzeugung. Sie können die zurückgegebene Anzahl außerdem mit einer manuellen Berechnung der eulerschen Phi-Formel vergleichen, um eine Faktorisierung zu kontrollieren. Beachten Sie, dass Teilerfremdheit eine Beziehung ist und nicht bedeutet, dass jede aufgeführte Zahl prim sein muss. Zusammengesetzte Werte können vorkommen, sofern sie keinen Primfaktor mit n teilen. So kann ein zusammengesetzter Kandidat ein Totativ eines Primzahlmoduls sein. Lesen Sie bei automatisierter Nutzung das Totativ-Array direkt und verwenden Sie die Anzahl als Zusammenfassung. Möchten Sie nur ein einzelnes Zahlenpaar prüfen, vermeidet ein Teilerfremdheitstest den Aufbau der vollständigen Liste.
Anwendungsfälle
Ein reduziertes Restsystem bilden
Erzeugen Sie die vollständige aufsteigende Menge der modulo n invertierbaren Restklassenvertreter.
Aufgaben zur Zahlentheorie prüfen
Vergleichen Sie eine manuell erstellte Totativliste samt Anzahl mit einem deterministischen Ergebnis.
Modulare Inverse untersuchen
Ermitteln Sie jeden Wert im Standardbereich, der modulo n ein multiplikatives Inverses besitzen kann.
Häufige Fragen
Was ist ein Totativ?
Ein Totativ von n ist eine positive ganze Zahl bis n, deren größter gemeinsamer Teiler mit n gleich 1 ist.
Entspricht die Anzahl der eulerschen Phi-Funktion?
Ja. Die Zahl der Werte im Totativ-Array ist phi(n), also die eulersche Phi-Funktion.
Warum fehlt n normalerweise in seiner eigenen Liste?
Weil gcd(n, n) gleich n und nicht 1 ist. Die Ausnahme ist n = 1 mit der Totativliste [1].
Muss jedes Totativ eine Primzahl sein?
Nein. Ein Totativ darf zusammengesetzt sein; es darf lediglich keinen Primfaktor mit n teilen.
Was kostet eine Anfrage?
Der API-Preis beträgt $0.002 je Anfrage. Die Browserversion läuft lokal ohne API-Gebühr.
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/totatives-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":12}'const res = await fetch("https://api.kit.forhosting.com/numth/totatives-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 12
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/totatives-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 12
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/totatives-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":12}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":12}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/totatives-list", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"n": 12
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.totatives_list",
"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_n | 100000 |
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. |