Sainte-Laguë-Rechner für die Sitzverteilung, kostenlos
Bei 5000, 3000 und 2000 Stimmen und 5 Sitzen vergibt das Sainte-Laguë-Verfahren an die drei Parteien 3, 1 und 1 Sitze. Geben Sie die Stimmen jeder Partei und die Zahl der Sitze ein und sehen Sie, wer jeden Sitz mit welcher Höchstzahl erhält. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Verteilt Parlamentssitze nach der Höchstzahlmethode Sainte-Laguë (Webster) mit optional modifiziertem erstem Divisor. Kostenlos, deterministisch und privat in Ihrem Browser. Kein Konto erforderlich.
So verteilt das Sainte-Laguë-Verfahren die Sitze
Sainte-Laguë, auch Webster-Verfahren genannt, ist ein Höchstzahlverfahren: Die Sitze werden einzeln vergeben, und jeder geht an die Partei mit der gerade höchsten Höchstzahl. Diese ergibt sich aus den Stimmen geteilt durch das Doppelte der bereits gewonnenen Sitze plus eins, die Divisoren lauten also 1, 3, 5, 7 und so weiter. Bei 5000, 3000 und 2000 Stimmen und 5 Sitzen gehen die ersten drei an A, B und C mit ihren vollen Stimmen; danach gewinnt A den vierten mit 5000 geteilt durch 3 und den fünften mit der Höchstzahl 1000. Ergebnis: 3, 1 und 1.
Die modifizierte Variante und typische Fehler
Die modifizierte Variante teilt die Stimmen einer Partei für ihren ersten Sitz durch 1,4 statt durch 1, was diesen Sitz schwerer erreichbar macht; die weiteren Divisoren bleiben gleich. Beim Rechnen von Hand wird am häufigsten nach einem gewonnenen Sitz durch 2, 3 und 4 statt durch 3, 5 und 7 geteilt, was ein anderes Verfahren ergibt. Ebenso oft wird vergessen, die Höchstzahl des Gewinners nach jedem Sitz neu zu berechnen. Der Rechner zeigt jeden Sitz mit Gewinner und Höchstzahl, sodass Sie jeden Schritt nachprüfen können.
Eingaben und Ausgaben
Geben Sie die im Eingabeschema aufgeführten Felder an. Pflichtfelder müssen vorhanden und korrekt typisiert sein. Optionale Felder verwenden dokumentierte Standardwerte.
Die Erfolgs-Nutzlast enthält stets die im Ausgabeschema benannten primären Ergebnisfelder, sodass Clients UI-Metriken ohne Raten binden können. Fehlermeldungen verwenden stabile englische match-Teilzeichenketten für das harness. Verteilt Parlamentssitze nach der Höchstzahlmethode Sainte-Laguë (Webster) mit optional modifiziertem erstem Divisor.
Anwendungsfälle
Hausaufgaben und Prüfungen
Prüfen Sie klassische Rechenaufgaben schnell mit stabilen, reproduzierbaren Antworten.
Automatisierung
Rufen Sie dieselbe reine Funktion aus Skripten auf, ohne ein Tabellenkalkulationsprogramm oder ein CAS zu installieren.
Häufige Fragen
Ist das kostenlos?
Ja. Tier A läuft vollständig in Ihrem Browser ohne Konto.
Greift es auf das Netzwerk zu?
Nein. Die parse-Engine behält alles auf dem Gerät.
Was ist das modifizierte Sainte-Laguë-Verfahren?
Dasselbe Verfahren mit einer Änderung: Für den ersten Sitz einer Partei werden ihre Stimmen durch 1,4 statt durch 1 geteilt. Dadurch ist der erste Sitz schwerer zu erreichen, während die folgenden Divisoren 3, 5, 7 und so weiter bleiben.
Kann ich sehen, wie jeder Sitz entschieden wurde?
Ja. Neben der Endverteilung listet der Rechner jeden Sitz der Reihe nach mit der Partei, die ihn gewonnen hat, und der zugehörigen Höchstzahl auf, damit Sie eine Aufgabe oder ein Ergebnis Schritt für Schritt prüfen können.
Kann ich den Parteien eigene Namen geben?
Ja. Sie können für jede Partei einen Namen angeben, in derselben Reihenfolge wie die Stimmen, und das Ergebnis zeigt dann jede Partei mit Namen, Stimmen und gewonnenen Sitzen.
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/sainte-lague \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"votes":[5000,3000,2000],"seats":5}'const res = await fetch("https://api.kit.forhosting.com/math/sainte-lague", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"votes": [
5000,
3000,
2000
],
"seats": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/sainte-lague",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"votes": [
5000,
3000,
2000
],
"seats": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/sainte-lague", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"votes":[5000,3000,2000],"seats":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"votes":[5000,3000,2000],"seats":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/sainte-lague", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"votes": [
5000,
3000,
2000
],
"seats": 5
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.sainte_lague",
"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
So funktioniert es
Jeder Sitz geht an die Partei mit dem höchsten Quotienten Stimmen/(2s+1) (bzw. 1,4 für den ersten Sitz im modifizierten Verfahren). Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden.
Eingaben und Ausgaben
Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden.
Randfälle und Grenzen
Erfordert mindestens zwei Parteien und eine positive ganzzahlige Sitzanzahl. Leere oder widersprüchliche Bereiche werden frühzeitig abgewiesen. Extrem große Zwischenwerte, die IEEE-754 überlaufen, werden zu einem out-of-range-Fehler statt zu null-Feldern. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden. Die Implementierung ist vollständig deterministisch und läuft kostenlos im Browser mit derselben reinen Funktion wie der API-Pfad. Eingaben werden vor jeder Rechnung geprüft, sodass falsche Typen und out-of-range-Werte zu klaren invalid_input-Fehlern statt zu stillen NaN-Ergebnissen werden.
Integrationsbeispiele
Unterrichtsdemos
Zeigen Sie durchgerechnete Beispiele mit golden fixtures, die zum kostenlosen widget und zur API passen.
Technische Fragen
Was ist, wenn meine Eingabe ungültig ist?
Sie erhalten invalid_input mit einer klaren englischen Meldung.
Sind die Ergebnisse stabil?
Ja. Deterministische Mathematik und golden-Beispiele fixieren den Vertrag.
Wer hat diese Fähigkeit erstellt?
samurai in der ForHosting-KIT-Werkstatt.