ggT-kgV-Rechner
Geben Sie 12 und 18 ein und erhalten Sie den ggT 6 und das kgV 36, oder rechnen Sie mit bis zu 20 Zahlen auf einmal. Praktisch zum Kürzen von Brüchen, für gemeinsame Nenner und zum Abgleichen wiederkehrender Zyklen. 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
- Zahlen
- 12, 18
- Größter gemeinsamer Teiler
- 6
- Kleinstes gemeinsames Vielfaches
- 36
Berechnet den größten gemeinsamen Teiler und das kleinste gemeinsame Vielfache eines Arrays aus 2 bis 20 ganzen Zahlen und gibt die normalisierten Eingaben zusammen mit ggT und kgV zurück.
So entstehen ggT und kgV
Der größte gemeinsame Teiler zweier Zahlen entsteht mit dem euklidischen Verfahren: Man ersetzt das Zahlenpaar so lange durch den kleineren Wert und den Divisionsrest, bis der Rest null ist. Bei mehr als zwei Zahlen läuft dieser Schritt von links nach rechts über die ganze Liste. Das kleinste gemeinsame Vielfache eines Paares ergibt sich, indem man eine Zahl erst durch den ggT teilt und dann mit der anderen multipliziert, damit die Zwischenwerte klein bleiben. Für 12 und 18 sind das 6 und 36.
Was mit Vorzeichen, Kommazahlen und Null geschieht
Vor der Rechnung werden Vorzeichen und Nachkommastellen entfernt: Aus −12,9 wird 12, und genau diese bereinigten Werte erscheinen im Ergebnis. Enthält die Liste eine Null, ist das kgV null; besteht sie nur aus Nullen, wird sie abgelehnt. Jeder Betrag darf höchstens eine Billiarde betragen, und ein kgV, das zu groß für eine exakte Darstellung würde, wird abgelehnt statt falsch gerundet. Typische Einsätze sind gemeinsame Nenner, Kachelmaße und Zeitpläne, die sich wiederholen.
Wie ggT und kgV berechnet werden
Der größte gemeinsame Teiler zweier Werte ergibt sich aus dem euklidischen Algorithmus — wobei (a, b) wiederholt durch (b, a mod b) ersetzt wird, bis b null ist — und der ggT des gesamten Arrays ist diese Operation von links nach rechts über jedes Element angewandt. Das kleinste gemeinsame Vielfache eines Paares wird als abs((a / g) * b) berechnet, wobei g ihr ggT ist; die Division erfolgt vor der Multiplikation, um den Zwischenwert klein zu halten, und das kgV des Arrays wird ebenso über alle Elemente gefaltet.
Ist ein Element null, so ist das kgV null, und ein Array aus lauter Nullen wird abgelehnt, weil ggT(0,0) nicht definiert ist. Die Antwort liefert numbers (die normalisierten Eingaben), gcd und lcm zurück, sodass das Beispiel [12, 18] einen ggT von 6 und ein kgV von 36 ergibt.
Normalisierung, Grenzen und sichere Ganzzahlen
Jedes Element wird zunächst mit Math.trunc und Math.abs umgewandelt, sodass Vorzeichen und Nachkommastellen verworfen werden: -12,9 wird zu 12, bevor irgendeine Berechnung läuft, und die normalisierten Werte sind es, die im zurückgegebenen numbers-Array erscheinen. Das Array muss zwischen 2 und 20 Elemente enthalten, jedes Element muss eine endliche Zahl sein, und kein Absolutwert darf 1e15 überschreiten.
Anwendungsfälle
Kürzen von Brüchen und Verhältnissen
Kürzen Sie Brüche oder Verhältnisse auf die kleinstmögliche Form, indem Sie Zähler und Nenner durch ihren ggT teilen.
Abstimmung von Zeitplänen
Ermitteln Sie, wann sich wiederholende Zyklen zusammentreffen, indem Sie das kgV ihrer Perioden über bis zu 20 Werte bilden.
Häufige Fragen
Was geschieht mit negativen Zahlen und Dezimalstellen?
Jeder Wert wird abgeschnitten und in seinen Absolutwert überführt (Math.trunc, dann Math.abs), sodass -12,9 vor jeder Berechnung zu 12 wird.
Wie viele Zahlen kann ich auf einmal eingeben?
Zwischen 2 und 20. ggT und kgV werden in einem Durchgang über die ganze Liste berechnet, sodass Sie eine komplette Menge auf einmal kürzen, statt Paare von Hand zu verketten.
Was passiert, wenn eine der Zahlen null ist?
Dann ist das kgV null, denn null ist ein Vielfaches jeder Zahl. Eine Liste nur aus Nullen wird abgelehnt, weil ihr größter gemeinsamer Teiler nicht definiert ist.
Wie finde ich mit dem kgV heraus, wann zwei Zyklen zusammenfallen?
Geben Sie die Länge jedes wiederkehrenden Zyklus ein, etwa in Tagen. Das kgV ist der erste Zeitpunkt, an dem alle wieder zusammenfallen, und das klappt mit bis zu 20 Zyklen gleichzeitig.
Wie kürze ich einen Bruch mit dem ggT?
Geben Sie Zähler und Nenner ein und teilen Sie beide durch den erhaltenen ggT. Das Ergebnis ist derselbe Bruch in vollständig gekürzter Form, und genauso vereinfachen Sie ein Verhältnis.
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/dev/gcd-lcm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers":[12,18]}'const res = await fetch("https://api.kit.forhosting.com/dev/gcd-lcm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numbers": [
12,
18
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/gcd-lcm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numbers": [
12,
18
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/gcd-lcm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numbers":[12,18]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numbers":[12,18]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/gcd-lcm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"numbers": [
12,
18
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.gcd_lcm",
"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_items | 20 |
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
Wie ggT und kgV berechnet werden
dev.gcd_lcm nimmt ein numbers-Array und faltet es paarweise.
Normalisierung, Grenzen und sichere Ganzzahlen
Da das kgV schnell wächst, wird das Ergebnis gegen Number.MAX_SAFE_INTEGER geprüft, und ein berechnetes kgV jenseits dieses Bereichs liefert einen typisierten invalid_input-Fehler statt eines stillschweigend falschen Float. Jeder Verstoß — kein Array, zu wenige oder zu viele Elemente, ein nicht endlicher Eintrag, eine Größenordnung außerhalb des Bereichs oder eine reine Nullmenge — löst invalid_input mit einer Meldung aus, die das Problem benennt, vor oder während der Faltung, sodass Aufrufer einen sauberen, abfangbaren Fehler erhalten.
Deterministische Arithmetik, die Sie wiederverwenden können
Die Übergabe von mehr als zwei Zahlen wird vollständig unterstützt — die Faltung verarbeitet bis zu 20 in einem Aufruf —, sodass Sie eine ganze Menge auf einmal reduzieren können, statt paarweise Anfragen zu verketten.
Integrationsbeispiele
Zahlentheorie im Stapel
Rufen Sie die API über viele Ganzzahlmengen auf, um ggT- und kgV-Spalten ohne lokale Mathematikbibliothek anzufügen.
Technische Fragen
Wie viele Zahlen kann ich übergeben?
Zwischen 2 und 20 ganze Zahlen pro Aufruf; ggT und kgV werden paarweise über das gesamte Array gefaltet.
Gibt es Größenbeschränkungen?
Kein Element darf eine Größe von 1e15 überschreiten, und ein kgV jenseits von MAX_SAFE_INTEGER liefert invalid_input statt eines falschen Float.
Was passiert, wenn ich lauter Nullen übergebe?
Das wird abgelehnt: ggT(0,0) ist nicht definiert, sodass ein Array aus lauter Nullen einen typisierten invalid_input-Fehler zurückgibt.
Ist es deterministisch und kostenlos?
Ja. Dasselbe Array liefert stets dasselbe Ergebnis; das Browser-Widget ist kostenlos und die API berechnet nur erfolgreiche Aufgaben ab $0.002.