Calcolatore di assegnazione dei seggi Sainte-Laguë gratis
Con 5000, 3000 e 2000 voti e 5 seggi da assegnare, il metodo Sainte-Laguë dà ai tre partiti 3, 1 e 1 seggi. Inserisca i voti di ogni partito e il numero di seggi e veda chi vince ogni seggio e con quale quoziente. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Assegna i seggi parlamentari con il metodo delle medie più alte Sainte-Laguë (Webster) con un primo divisore modificato facoltativo. Gratis, deterministico e privato nel Suo browser. Nessun account richiesto.
Come il metodo Sainte-Laguë ripartisce i seggi
Il Sainte-Laguë, detto anche metodo Webster, è un metodo dei quozienti più alti: i seggi si assegnano uno alla volta e ciascuno va al partito con il quoziente più alto in quel momento. Il quoziente di un partito è dato dai suoi voti divisi per il doppio dei seggi che ha già più uno, quindi i divisori sono 1, 3, 5, 7 e così via. Con 5000, 3000 e 2000 voti e 5 seggi, i primi tre vanno ad A, B e C con i voti pieni; poi A vince il quarto con 5000 diviso 3 e il quinto con un quoziente di 1000. Il risultato è 3, 1 e 1.
La variante modificata e gli errori più comuni
La variante modificata divide i voti di ogni partito per 1,4 invece che per 1 al primo seggio, rendendolo più difficile da ottenere; i divisori successivi non cambiano. Quando si fa il conto a mano, l'errore più frequente è dividere per 2, 3 e 4 invece che per 3, 5 e 7 dopo ogni seggio vinto, il che porta a un metodo diverso. Un altro è dimenticare di ricalcolare il quoziente del vincitore dopo ogni seggio. Il calcolatore mostra ogni seggio con il vincitore e il quoziente, così ogni passaggio si può controllare.
Casi d'uso
Compiti ed esami
Verifichi rapidamente i classici problemi quantitativi con risposte stabili e riproducibili.
Automazione
Richiami la stessa funzione pura dagli script senza installare un foglio di calcolo o un CAS.
Domande frequenti
È gratis?
Sì. Il tier A gira interamente nel Suo browser senza account.
Effettua chiamate di rete?
No. Il motore parse mantiene tutto sul dispositivo.
Che cos'è il metodo Sainte-Laguë modificato?
È lo stesso metodo con una modifica: il primo seggio di ogni partito si calcola dividendo i voti per 1,4 invece che per 1. Così il primo seggio è più difficile da ottenere, mentre i divisori successivi restano 3, 5, 7 e così via.
Si può vedere come è stato deciso ogni seggio?
Sì. Oltre alla ripartizione finale, il calcolatore elenca ogni seggio in ordine, con il partito che lo ha vinto e il quoziente con cui lo ha ottenuto, così un esercizio o un risultato pubblicato si verifica passo per passo.
Posso dare un nome ai partiti?
Sì. Può indicare un nome per ciascun partito, nello stesso ordine dei voti, e il risultato mostra ogni partito per nome, con i suoi voti e i seggi ottenuti.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"votes": [
5000,
3000,
2000
],
"seats": 5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.sainte_lague",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come funziona
Ogni seggio viene assegnato al partito con il quoziente voti/(2s+1) più alto (o 1,4 per il primo seggio nella variante modificata). L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN. L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN.
Input e output
I campi obbligatori devono essere presenti e con il tipo corretto. I campi facoltativi usano i valori predefiniti documentati. I messaggi di errore usano sottostringhe stabili in inglese per l'aggancio dell'harness. Assegna i seggi parlamentari con il metodo delle medie più alte Sainte-Laguë (Webster) con un primo divisore modificato facoltativo. Indichi i campi elencati nello schema di input. Il payload di successo include sempre i campi principali del risultato indicati nello schema di output, così i client possono collegare le metriche dell'interfaccia senza tirare a indovinare. L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN. L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN.
Casi limite e vincoli
Richiede almeno due partiti e un numero di seggi intero positivo. Gli intervalli vuoti o contraddittori vengono respinti subito. I valori intermedi estremamente grandi che vanno in overflow rispetto a IEEE-754 diventano un errore out-of-range anziché campi null. L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN. L'implementazione è completamente deterministica e gira gratis nel browser con la stessa funzione pura del percorso API. Gli input vengono convalidati prima di qualsiasi calcolo, così i tipi errati e i valori out-of-range diventano chiari errori invalid_input invece di silenziosi risultati NaN.
Casi di integrazione
Dimostrazioni didattiche
Mostri esempi svolti con fixture golden che corrispondono al widget gratuito e all'API.
Domande tecniche
E se il mio input non è valido?
Riceve invalid_input con un messaggio chiaro in inglese.
I risultati sono stabili?
Sì. La matematica deterministica e gli esempi golden fissano il contratto.
Chi è l'autore di questa capacità?
samurai nel workshop del KIT di ForHosting.