Probabilidade da soma dos dados no máximo
Esta calculadora encontra a probabilidade acumulada de vários dados justos e idênticos somarem um valor escolhido ou menos.
Executar grátis
Em vez de estimar a resposta com lançamentos simulados, ela conta todos os resultados possíveis usando aritmética inteira exata. Informe a quantidade de dados, o número de faces de cada dado e um limite inclusivo. O resultado traz casos favoráveis, total de casos, fração reduzida, probabilidade decimal e porcentagem, o que ajuda no desenvolvimento de jogos, em aulas de probabilidade e em mecanismos de regras confiáveis.
Entenda o evento que está sendo calculado
Um evento “no máximo” inclui o próprio limite e todos os totais menores. Por exemplo, um limite de sete com dois dados de seis faces pede P(soma ≤ 7); assim, os totais dois, três, quatro, cinco, seis e sete são favoráveis. Isso é diferente de pedir exatamente sete, situação em que apenas um total conta, e de pedir pelo menos sete, que inclui de sete a doze. Cada dado é considerado justo, independente e numerado com inteiros consecutivos de um até o número de faces escolhido. Portanto, lançar n dados de s faces cria s^n resultados ordenados igualmente prováveis. A calculadora conta quantos desses resultados ficam entre o menor total possível e o limite inclusivo e divide a contagem favorável pelo tamanho de todo o espaço amostral. Limites abaixo do mínimo retornam corretamente probabilidade zero, enquanto limites iguais ou superiores ao máximo retornam probabilidade um. Esses valores de fronteira são respostas significativas, não erros, e permitem usar a ferramenta com regras que fornecem limites dinamicamente.
Como funciona a contagem cumulativa exata
O cálculo usa programação dinâmica limitada, e não tentativas aleatórias. Ele começa com uma única maneira de formar o total zero antes de qualquer dado ser lançado. Para cada dado, monta a próxima tabela de contagens adicionando cada face permitida a todos os totais já alcançáveis. Uma janela deslizante combina essas contribuições com eficiência, e todas as contagens usam inteiros de precisão arbitrária, evitando arredondamento do número de resultados possíveis. Depois de processar todos os dados, o mecanismo soma as contagens dos totais que não ultrapassam o limite escolhido. O total de resultados é calculado separadamente elevando o número de faces à quantidade de dados. O máximo divisor comum simplifica a razão favoráveis/total até sua fração exata irredutível, enquanto a divisão inteira determinística gera textos decimais e percentuais legíveis. O método entrega a mesma resposta em toda execução e elimina o erro amostral das simulações de Monte Carlo. Mesmo uma simulação longa pode ignorar caudas raras ou variar; a recorrência exata não varia. Os limites publicados controlam memória e tempo e ainda abrangem dados comuns e grandes conjuntos personalizados.
Aplique o resultado em jogos, aulas e software
Use dice para a quantidade de dados idênticos, sides para o número de faces e at_most para o corte inclusivo. Consulte probability_fraction quando precisar de um valor racional exato, probability para um decimal compacto e probability_percent para exibir uma porcentagem. Os campos favorable_outcomes e total_outcomes mostram a contagem de origem e são retornados como strings para preservar inteiros grandes em consumidores JSON. Você pode comparar a frequência com que uma reserva de dados fica abaixo de um teto, estimar a ativação de uma condição de lançamento baixo ou ajustar um limite antes de publicar uma regra. Em aulas, é possível demonstrar distribuições cumulativas e confrontar a resposta exata com uma simulação. Equipes de desenvolvimento podem fixar a resposta determinística em testes ou chamar o cálculo em um serviço de pontuação sem manter tabelas próprias. O navegador executa localmente a mesma função pura. O uso automatizado da API custa US$ 0,002 por item bem-sucedido. Dados viciados, explosivos, relançados ou de tamanhos mistos não são aceitos, pois essas mecânicas alteram o espaço amostral e exigem outro modelo.
Casos de uso
Equilibre uma mecânica de resultado baixo
Meça a chance exata de uma reserva de dados ficar no limite de ativação ou abaixo dele antes de concluir uma regra de mesa.
Ensine probabilidade cumulativa
Mostre como as contagens favoráveis se acumulam em todos os totais até o corte escolhido, incluindo esse corte.
Teste um mecanismo de regras determinístico
Use frações e contagens estáveis como casos de teste para software que avalia limites de dados justos comuns.
Perguntas frequentes
“No máximo” inclui o valor escolhido?
Sim. A expressão significa menor ou igual ao limite; portanto, o total escolhido faz parte dos resultados favoráveis.
Os resultados são exatos ou simulados?
São exatos. O algoritmo conta resultados com inteiros de precisão arbitrária e não usa aleatoriedade nem amostragem.
Que tipo de dado a calculadora pressupõe?
Ela pressupõe dados idênticos, independentes e justos, com faces numeradas consecutivamente de 1 até a quantidade escolhida.
O que acontece quando o limite não pode ser obtido?
Um limite abaixo da soma mínima retorna probabilidade zero; um limite igual ou acima da máxima retorna probabilidade um.
Quanto custa um cálculo pela API?
Cada item concluído pela API custa US$ 0,002. O mesmo cálculo determinístico também está disponível 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/hobby/game-dice-sum-at-most \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dice":2,"sides":6,"at_most":7}'const res = await fetch("https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dice": 2,
"sides": 6,
"at_most": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/game-dice-sum-at-most",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dice": 2,
"sides": 6,
"at_most": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dice":2,"sides":6,"at_most":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dice":2,"sides":6,"at_most":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/game-dice-sum-at-most", 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
{
"dice": 2,
"sides": 6,
"at_most": 7
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.game_dice_sum_at_most",
"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_dice | 50 |
max_sides | 100 |
max_sum | 5000 |
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. |