Calculadora do coeficiente multinomial
Conte as formas de dividir itens em grupos com nome e tamanho fixo: 6 pessoas em três grupos distintos de 2 admitem 90 divisões, exatamente 6! dividido por 2! 2! 2!. 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
- N
- 6
- Grupos
- 2, 2, 2
- Quantidade
- 90
O coeficiente multinomial responde a uma pergunta fundamental de contagem: dados n itens distintos distribuídos em k grupos rotulados de tamanhos n1, n2, até nk, quantas atribuições distintas existem quando a ordem dentro de cada grupo não importa? Essa quantidade se escreve como o multinomial de n sobre n1,n2,…,nk e é igual ao fatorial de n dividido pelo produto dos fatoriais de cada grupo. Quando há apenas dois grupos, ela se reduz ao conhecido coeficiente binomial; com três ou mais grupos, conta rearranjos de palavras com letras repetidas, células de tabelas de contingência e formas de distribuir cartas em mãos fixas. Esta capacidade avalia a identidade com aritmética BigInt para que coeficientes grandes permaneçam exatos em vez de estourar o ponto flutuante ou os limites de inteiros seguros.
O que o coeficiente multinomial significa e como é calculado
Um coeficiente multinomial conta o número de maneiras de particionar um conjunto de n objetos distintos em k grupos rotulados de tamanhos prescritos n1, n2, até nk que somam exatamente n. A forma fechada é o fatorial de n sobre o produto dos fatoriais desses tamanhos de grupo.
Exemplos clássicos de sala de aula tornam a definição concreta: o número de rearranjos distintos das letras de MISSISSIPPI é onze fatorial sobre quatro fatorial vezes quatro fatorial vezes dois fatorial vezes um fatorial, e o número de maneiras de distribuir um baralho de cinquenta e duas cartas em quatro mãos rotuladas de treze cartas é cinquenta e dois fatorial sobre treze fatorial elevado à quarta.
Quando k vale dois a fórmula se reduz ao coeficiente binomial C(n,n1), de modo que os multinomiais são uma generalização estrita de n escolhe r. Avaliar os fatoriais de forma ingênua é desastroso para n grande porque os valores intermediários explodem muito antes de a razão final ser moderada. Por isso esta ferramenta multiplica binomiais sequenciais—C(n,n1) vezes C(n−n1,n2) vezes o próximo choose restante, e assim por diante—usando JavaScript BigInt para que cada intermediário permaneça exato e a contagem final seja devolvida como string decimal.
Esse contrato coincide com os manuais padrão de combinatória e com os juízes de competições de programação, de modo que você pode confiar no número frente a cálculos manuais para n pequeno e frente a tabelas conhecidas para os maiores sem deriva de ponto flutuante nem wraparound silencioso.
Como fazer o cálculo e ler o resultado
O campo n é o número total de itens—o índice superior do multinomial—e deve ser um inteiro não negativo de zero a dez mil. O campo groups é um array não vazio de inteiros não negativos n1, n2, até nk que formam uma partição de n: a soma deve ser exatamente n, e cada tamanho deve ser um inteiro entre zero e n inclusive.
Uma resposta bem-sucedida devolve n como número, groups como o array de inteiros coagido, count como string decimal do valor multinomial exato, e formula como a string n! /(n1! n2! … nk!) para que clientes possam exibir ou registrar a identidade sem codificá-la manualmente.
Use-o a partir de corretores de lição de casa, validadores de competições de programação, sandboxes de preparação para entrevistas, jobs de enriquecimento de planilhas, demos de probabilidade multinomial que precisam do coeficiente antes de multiplicar por potências de probabilidade, ferramentas didáticas de tabelas de contingência, ou qualquer fluxo que precise de uma contagem multinomial reproduzível sem instalar pacotes de multiprecisão em cada máquina que execute o pipeline.
Casos de uso
Validadores para competições de programação e preparação de entrevistas
Afirme soluções candidatas de problemas de contagem de partições e rearranjo de palavras sem reimplementar aritmética multinomial de multiprecisão em cada harness de linguagem.
Demos de probabilidade multinomial e tabelas de contingência
Obtenha coeficientes multinomiais exatos ao montar tabelas de probabilidade multinomial ou ensinar tabelas de contingência para que o fator combinatório permaneça exato antes de qualquer passo de probabilidade flutuante.
Perguntas frequentes
O que é um coeficiente multinomial?
Conta as formas de particionar n itens distintos em k grupos rotulados de tamanhos n1…nk. Vale n! / (n1! × n2! × … × nk!) e exige que esses tamanhos somem n.
Como isso difere do coeficiente binomial (n escolhe r)?
O binomial é o caso especial com dois grupos: n! / (r! (n−r)!). Multinomiais tratam três ou mais tamanhos de grupo em um único coeficiente.
Por que a contagem é devolvida como string?
Multinomiais grandes ultrapassam os inteiros seguros de JavaScript. Uma string decimal mantém o valor exato para todo n suportado sem perda de precisão.
O que acontece se os tamanhos dos grupos não somarem n?
O multinomial só é definido aqui para partições em que n1 + n2 + … + nk é exatamente n.
A calculadora do coeficiente multinomial é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
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/combo/multinomial \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":6,"groups":[2,2,2]}'const res = await fetch("https://api.kit.forhosting.com/combo/multinomial", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 6,
"groups": [
2,
2,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/multinomial",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 6,
"groups": [
2,
2,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/multinomial", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":6,"groups":[2,2,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":6,"groups":[2,2,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/multinomial", 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
{
"n": 6,
"groups": [
2,
2,
2
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.multinomial",
"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_n | 10000 |
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
Estudantes, professores, cientistas de dados e programadores de competição obtêm uma contagem JSON determinística—sem instalar álgebra computacional, sem amostragem aleatória, e a mesma função pura na ferramenta gratuita do navegador e no caminho de API pré-paga—para que verificações de lição de casa, validação de pipelines e sandboxes de entrevista compartilhem uma única resposta reproduzível.
O que o coeficiente multinomial significa e como é calculado
Os casos de contorno estão bem definidos: um único grupo de tamanho n produz um; todos os grupos de tamanho zero ou um quando particionam n produzem o fatorial esperado ou um; e qualquer entrada cujos tamanhos de grupo não somem n é rejeitada como invalid_input em vez de normalizar em silêncio ou inventar uma extensão.
Como chamar a API e ler a resposta
Envie um corpo JSON com dois campos obrigatórios. Os aliases total e N são aceitos com o mesmo significado. Os aliases parts, sizes e ni mapeiam para groups. A validação falha—falta de n ou groups, um campo groups que não é array, um tamanho não inteiro ou negativo, um valor acima do máximo publicado, uma lista groups vazia, ou tamanhos de grupo que não somam n—devolve invalid_input e nunca é cobrada. O preço é um valor fixo de US$ 0,002 por requisição bem-sucedida com unidade item e preço marginal unitário zero.
Dicas práticas, limites e intenções relacionadas
Ao ensinar, prefira exemplos emparelhados: n igual a seis e groups dois, dois, dois produz noventa; n igual a cinco e groups dois, um, dois produz trinta; n igual a dez e groups três, três, quatro produz quatro mil e duzentos; n igual a cinco e groups dois, dois demonstra o caminho duro de rejeição quando a soma não é n; e um tamanho de grupo negativo demonstra o caminho de rejeição por negativo. As páginas irmãs cobrem combinações ordinárias e coeficientes binomiais; esta página é especificamente para quem busca uma calculadora do coeficiente multinomial, uma ferramenta de fórmula multinomial ou um auxiliar de contagem de partições. Mantenha n no máximo em dez mil para que as piores partições terminem com rapidez no Worker e no navegador, cobrindo ainda tamanhos de competição e de ensino muito além da faixa segura de Number. Se você precisar de coeficientes de multiprecisão com n na casa das centenas de milhares, use uma pilha dedicada de inteiros grandes offline—esta capacidade leve de parse foi feita para verificações interativas, cola de API e demos de sala de aula. Como a fórmula de binomiais sequenciais é determinística, os alunos podem recalcular casos pequenos à mão ou com uma planilha e bater com a API linha a linha. Não confunda multinomiais com permutações de n itens distintos nem com massas de probabilidade multinomial que também multiplicam por p_i elevado a n_i—essas são intenções e páginas diferentes. Tarefas falhas que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos os scripts exploratórios quando o usuário digita valores ruins ao aprender o contrato. Prefira contagens exatas em string em vez de forçar um Number de JavaScript para que coeficientes grandes nunca percam dígitos de ordem inferior no transporte JSON.
Casos de integração
Correção de lições e provas de coeficientes multinomiais
Dê aos alunos n e uma partição de grupos e confira o multinomial calculado à mão com um resultado determinístico da API ou do navegador gratuito sem ambiguidade de ponto flutuante.