Calcule a carga de anilhas da barra por lado
Para 100 com uma barra de 20, coloque uma anilha de 25 e uma de 15 em cada lado: 80 em anilhas, 40 por lado, com o menor número de anilhas. Encontra cargas exatas até quando começar pela maior anilha falha. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Peso desejado
- 100
- Peso da barra
- 20
- Peso por lado
- 40
- Peso total alcançado
- 100
- Diferença em relação à meta
- 0
Transforme o peso total desejado em um plano claro de anilhas para cada lado da barra. Informe a meta, o peso da barra vazia e os tamanhos disponíveis em sua academia. A calculadora encontra uma combinação exata quando ela existe, inclusive em conjuntos nos quais a escolha simples da maior anilha primeiro falharia. Se a carga exata for impossível, ela retorna um erro, a menos que você peça expressamente o resultado mais próximo. Toda resposta inclui o total alcançado e a diferença em relação à meta.
Informe o total, a barra e os tamanhos disponíveis
Comece pelo peso total desejado, ou seja, tudo o que você pretende levantar: a barra mais anilhas iguais nas duas extremidades. Em seguida, informe o peso da barra vazia e liste cada tamanho disponível. Os números podem representar quilogramas ou libras, desde que todos os campos usem a mesma unidade; a calculadora não converte sistemas de medida.
Liste cada tamanho uma única vez, pois o algoritmo considera que ele pode ser reutilizado e determina quantas unidades devem ir em cada lado. Por exemplo, uma meta de 100 com uma barra de 20 deixa 80 para as anilhas, ou 40 por lado. Com 25, 20, 15, 10, 5, 2.5 e 1.25 disponíveis, uma anilha de 25 e uma de 15 em cada lado atingem exatamente a meta.
A lista do resultado sempre descreve uma só extremidade; repita a mesma disposição no outro lado e prenda ambas antes de levantar.
Encontre combinações exatas sem depender do método guloso
Carregar uma barra parece simples, mas escolher sempre a maior anilha que cabe pode produzir uma resposta errada em inventários incomuns. Um percurso guloso pode ficar sem saída mesmo quando outra combinação alcança a meta. Esta calculadora pesquisa os pesos possíveis por lado com uma tabela limitada de programação dinâmica, encontrando uma combinação exata válida sempre que ela existir dentro dos limites declarados.
Entre as combinações exatas, prefere a que usa menos anilhas, o que normalmente torna a montagem mais rápida e organizada. A resposta mostra cada tamanho e quantidade por lado, o peso conjunto das anilhas em um lado, o total atingido, a diferença para a meta e se o resultado é exato. Durante a pesquisa, pesos decimais viram inteiros escalonados, evitando resíduos de ponto flutuante que poderiam fazer 1.25 parecer um pouco maior ou menor que seu valor matemático.
Tamanhos repetidos são consolidados antes do cálculo.
Controle o resultado quando a meta não estiver disponível
Algumas metas não podem ser montadas com determinada barra e determinado conjunto de anilhas. Como a carga precisa ficar equilibrada, cada anilha colocada de um lado exige outra igual no lado oposto; portanto, o total muda em incrementos equivalentes ao dobro do tamanho da anilha. Por padrão, uma solicitação inalcançável retorna um erro de entrada inválida, em vez de prescrever silenciosamente outro peso.
Isso é importante em softwares de treino, nos quais uma substituição não autorizada poderia alterar a sessão planejada. O mecanismo escolherá o total possível com a menor diferença absoluta; se houver empate entre uma opção mais leve e outra mais pesada, selecionará a mais leve de forma determinística. A própria barra vazia pode ser o resultado mais próximo.
Confira pessoalmente as marcações, anilhas, presilhas e o total final.
Casos de uso
Prepare um treino de força
Converta cada peso programado em instruções de montagem por lado antes do início da sessão.
Use um acervo doméstico limitado
Informe somente os tamanhos que você possui e descubra quais metas não podem ser montadas exatamente.
Inclua orientações em um aplicativo
Gere quantidades determinísticas, totais atingidos e diferenças para as telas destinadas aos atletas.
Perguntas frequentes
As anilhas listadas são para um lado ou para os dois?
Coloque os mesmos tamanhos e quantidades na outra extremidade.
Posso usar libras em vez de quilogramas?
Sim. Use a mesma unidade para a meta, a barra e todas as anilhas; os valores de saída permanecerão nessa unidade.
Como um empate entre alternativas é resolvido?
Quando dois totais ficam à mesma distância, o mais leve é escolhido para oferecer um resultado estável e conservador.
E se o meu peso-alvo não puder ser montado exatamente?
Por padrão, você recebe um aviso de que esse peso não é alcançável com a sua barra e as suas anilhas. Se uma aproximação servir, peça o total possível mais próximo: o resultado mostra quanto fica abaixo ou acima do alvo.
Por que não basta colocar a maior anilha que couber?
Porque, com alguns conjuntos de anilhas, esse atalho trava mesmo quando outra combinação chega ao alvo. A calculadora verifica os pesos possíveis e, entre as opções exatas, escolhe a que usa menos anilhas.
Ferramentas relacionadas
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/fitness2/plate-math-calculate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}'const res = await fetch("https://api.kit.forhosting.com/fitness2/plate-math-calculate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fitness2/plate-math-calculate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fitness2/plate-math-calculate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target_weight":100,"bar_weight":20,"plates":[25,20,15,10,5,2.5,1.25]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fitness2/plate-math-calculate", 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
{
"target_weight": 100,
"bar_weight": 20,
"plates": [
25,
20,
15,
10,
5,
2.5,
1.25
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fitness2.plate_math_calculate",
"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_target_weight | 2000 |
max_plate_denominations | 50 |
max_decimal_places | 3 |
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. |
Notas técnicas
Controle o resultado quando a meta não estiver disponível
Ative closest_match quando uma aproximação for aceitável. Consulte difference_from_target para ver o ajuste com sinal: valor negativo significa menos peso e positivo, mais.
Perguntas técnicas
Quanto custa uma solicitação de API?
Cada solicitação bem-sucedida de API custa a partir de US$ 0,002. O cálculo é determinístico e não usa serviços externos.
O que acontece quando a meta exata é impossível?
O padrão é retornar um erro invalid_input. Ative closest_match para receber o total possível mais próximo.