Divida o orçamento de presentes por prioridade
Planejar presentes para várias pessoas fica mais difícil quando nem todas têm a mesma prioridade.
Executar grátis
Esta calculadora transforma um orçamento total e pesos relativos em um valor prático para cada pessoa. Ela preserva todos os centavos, deixa o critério transparente e elimina ajustes repetidos em planilhas. Você pode usar pesos simples, como 3, 2 e 1: apenas a proporção importa, portanto não é preciso calcular percentuais antes.
Escolha pesos que representem a prioridade relativa
Comece informando quanto você pode gastar em todos os presentes. Depois, liste cada pessoa e atribua um peso de prioridade positivo. Esse peso não é um valor em dinheiro e não precisa somar um total específico; ele apenas expressa uma relação. Se Alex tiver peso 4 e Blair tiver peso 2, Alex receberá o dobro. Pesos 2 e 1, ou 40 e 20, produziriam o mesmo resultado. Essa flexibilidade facilita conversar sobre prioridades enquanto os planos ainda podem mudar. Você pode usar um valor maior para familiares próximos, um intermediário para bons amigos e um menor para outros compromissos. Não use zero para excluir alguém; remova essa pessoa da lista para deixar o escopo claro. A calculadora valida os pesos, soma todos eles e divide o peso individual pelo total para determinar cada parcela. Os nomes permanecem na ordem enviada, o que facilita comparar o resultado com a lista original.
Entenda a divisão proporcional exata nos centavos
Cálculos proporcionais costumam gerar frações de centavo. Se cada valor for arredondado separadamente, o plano final poderá ultrapassar o orçamento ou deixar uma pequena sobra. Esta calculadora evita essa diferença. Primeiro, ela arredonda o orçamento total para centavos, calcula a parcela fracionária exata de cada pessoa e distribui a parte inteira. Os centavos que restarem vão para quem tiver as maiores frações. Esse procedimento é conhecido como método dos maiores restos. Assim, cada valor fica com duas casas decimais e a soma coincide exatamente com o orçamento retornado. Se duas pessoas tiverem o mesmo resto, o centavo adicional vai para aquela que aparece primeiro na lista, garantindo um desempate estável e determinístico. O resultado também mostra a participação normalizada, como 0.5 para metade do orçamento, e a soma dos pesos. Esses dados permitem conferir a conta, explicar a divisão a outras pessoas ou reproduzi-la em uma planilha sem dúvidas sobre o arredondamento.
Transforme os valores em um plano de compras realista
Use cada parcela como teto de gasto ou meta de planejamento, e não como obrigação de encontrar um produto exatamente naquele preço. Procure opções adequadas dentro do valor e considere impostos, frete, embalagem e compras compartilhadas. Se esses custos fizerem parte do total, reserve-os antes de informar o orçamento ou inclua-os ao comparar cada presente com sua parcela. Você pode refazer o cálculo quando a lista mudar, quando surgir um presente coletivo ou quando o dinheiro disponível aumentar ou diminuir. Como os mesmos pesos preservam as mesmas relações, alterar o total não exige reconstruir o plano. Em famílias, comissões ou arrecadações no trabalho, guarde os pesos junto do resultado para registrar as prioridades combinadas. A ferramenta não avalia relacionamentos nem recomenda produtos; ela aplica a matemática de forma consistente. Cada solicitação pela API custa US$ 0,002, enquanto o navegador atende bem ao planejamento ocasional. Nenhuma consulta de rede, aleatoriedade ou data atual interfere no resultado.
Casos de uso
Planeje presentes para a família
Dê pesos maiores a familiares próximos sem ultrapassar um único limite de gastos sazonais.
Divida uma arrecadação coletiva
Distribua o valor reunido entre presentes de agradecimento conforme as prioridades acordadas pelo grupo.
Recalcule após mudar o orçamento
Mantenha as prioridades e atualize todos os valores instantaneamente quando o total disponível mudar.
Perguntas frequentes
O que significa um peso de prioridade?
É um valor relativo. Uma pessoa com peso 6 recebe o dobro daquela com peso 3.
Os pesos precisam somar 100?
Não. Quaisquer valores positivos funcionam, pois cada peso é dividido pela soma de todos eles.
Os valores somam exatamente o orçamento?
Sim. O total é arredondado para centavos, e as sobras vão para as maiores parcelas fracionárias.
Como é resolvido um empate pelo centavo extra?
Ele vai para a pessoa que aparece primeiro na lista, tornando toda repetição determinística.
Posso usar um orçamento zero ou negativo?
Não. O orçamento deve ser um número finito positivo e arredondar para pelo menos um centavo.
Quanto custa uma solicitação pela API?
Cada solicitação custa US$ 0,002. Você também pode usar a calculadora gratuitamente no navegador.
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/life/gift-budget-split \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}'const res = await fetch("https://api.kit.forhosting.com/life/gift-budget-split", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/gift-budget-split",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/gift-budget-split", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_budget":240,"recipients":[{"name":"Alex","priority_weight":3},{"name":"Blair","priority_weight":2},{"name":"Casey","priority_weight":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/gift-budget-split", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"total_budget": 240,
"recipients": [
{
"name": "Alex",
"priority_weight": 3
},
{
"name": "Blair",
"priority_weight": 2
},
{
"name": "Casey",
"priority_weight": 1
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.gift_budget_split",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 1000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |