ForHosting KIT · Matemática

Distribuição de cadeiras pelo maior resto grátis

Transforme votos em cadeiras inteiras pelo método do maior resto: 416.000, 338.000 e 246.000 votos para 10 cadeiras com a cota Hare dão 4, 3 e 3 cadeiras. Escolha a cota Hare ou a Droop e veja o resto de cada partido. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Votos por partido
416.000, 338.000, 246.000
Cadeiras a distribuir
10
Nomes dos partidos (opcional)
A, B, C
Método do quociente
Hare (votos totais ÷ cadeiras)
Você obtém
Método do quociente
Hare
Quociente eleitoral
100.000

Distribui cadeiras pelo método do maior resto (Hamilton) com quota de Hare ou Droop. Gratuito, determinístico e privado no seu navegador. Não é necessária conta. Não é necessária conta.

Como as cadeiras são distribuídas pelo maior resto

Sistemas proporcionais precisam de cadeiras inteiras, mas os votos quase nunca se dividem de forma exata. O método do maior resto, também chamado de Hamilton, resolve isso em duas rodadas. Primeiro define uma cota, a quantidade de votos que vale uma cadeira, e dá a cada partido tantas cadeiras quantas cotas completas ele tiver, sempre arredondando para baixo. Depois, as cadeiras livres vão uma a uma para os partidos com os maiores restos. No exemplo, 10 cadeiras são divididas entre 416.000, 338.000 e 246.000 votos. Com uma cota Hare de 100.000, a primeira rodada dá 4, 3 e 2 cadeiras e sobra uma. Os restos são 0,16, 0,38 e 0,46, então a última cadeira vai para o terceiro partido e a divisão final fica 4, 3 e 3.

Erros a evitar ao conferir uma distribuição

A maioria dos erros acontece na primeira rodada. Arredondar para o inteiro mais próximo em vez de para baixo quebra o método, porque essa rodada só pode entregar cotas completas. Dar as cadeiras que sobram aos partidos mais votados em vez dos maiores restos muda o resultado, como mostra o terceiro partido do exemplo. A cota também importa: confira se as suas regras pedem a cota Hare ou a Droop antes de comparar resultados. A calculadora é útil para lições e provas sobre sistemas eleitorais, quando você quer uma resposta estável para comparar com a sua.

Lição de casa e provas

Confira rapidamente problemas quantitativos clássicos com respostas estáveis e reproduzíveis.

Automação

Chame a mesma função pura a partir de scripts, sem instalar uma planilha ou um CAS.

Isto é gratuito?

Sim. O tier A roda inteiramente no seu navegador, sem conta.

Ele acessa a rede?

Não. O motor parse mantém tudo no próprio dispositivo.

Como o método do maior resto distribui as cadeiras?

Primeiro cada partido recebe uma cadeira para cada cota completa de votos, sempre arredondando para baixo. As cadeiras que sobram vão depois, uma a uma, para os partidos com os maiores restos até preencher o total.

Por que um partido com menos cotas completas leva a última cadeira?

Porque as cadeiras que sobram seguem os restos, não o total de votos. No exemplo o terceiro partido tem só 2 cotas completas, mas o resto de 0,46 é o maior, então ele leva a última das 10 cadeiras e termina com 3.

Quais cotas posso usar?

Você pode escolher a cota Hare ou a cota Droop. Com a Hare, o milhão de votos do exemplo dividido por 10 cadeiras dá uma cota de 100.000 votos por cadeira, e toda a distribuição parte desse número.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/math/largest-remainder

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/math/largest-remainder \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"votes":[416000,338000,246000],"seats":10}'
{
  "votes": [
    416000,
    338000,
    246000
  ],
  "seats": 10
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.largest_remainder",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Como funciona

Cada partido recebe floor(votos/quota) cadeiras e, em seguida, as cadeiras restantes vão para os maiores restos fracionários, em ordem. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos.

Entradas e saídas

Os campos obrigatórios precisam estar presentes e com o tipo correto. Os campos opcionais usam padrões documentados. As mensagens de erro usam trechos de correspondência estáveis em inglês para o harness. Distribui cadeiras pelo método do maior resto (Hamilton) com quota de Hare ou Droop. Informe os campos listados no schema de entrada. O payload de sucesso sempre inclui os campos de resultado principais indicados no schema de saída, para que os clientes consigam vincular métricas de UI sem adivinhação. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos.

Casos-limite e limitações

Rejeita total de votos igual a zero e nomes de quota inválidos. Intervalos vazios ou contraditórios são rejeitados logo de início. Valores intermediários extremamente grandes que estouram o IEEE-754 viram um erro out-of-range em vez de campos nulos. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos. A implementação é totalmente determinística e roda de graça no navegador com a mesma função pura do caminho da API. As entradas são validadas antes de qualquer cálculo, de modo que tipos incorretos e valores out-of-range viram erros invalid_input claros em vez de resultados NaN silenciosos.

Demonstrações em aula

Mostre exemplos resolvidos com fixtures golden que batem com o widget gratuito e com a API.

E se a minha entrada for inválida?

Você recebe invalid_input com uma mensagem clara em inglês.

Os resultados são estáveis?

Sim. A matemática determinística e os exemplos golden congelam o contrato.

Quem é o autor desta capacidade?

samurai, na oficina do KIT da ForHosting.

Ver a documentação completa do KIT →