Calculadora de combinações
Descubra de quantas formas você pode escolher itens quando a ordem não importa: 3 livros quaisquer entre 10 para levar no fim de semana dão 120 seleções diferentes, C(10,3), sempre com resultado exato. 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
- Total de itens (≥0)
- 10
- Resistência (Ω)
- 3
- Quantidade
- 120
O coeficiente binomial responde a uma pergunta simples de contagem: dados n itens distintos, de quantas formas você pode escolher um subconjunto de tamanho r quando a ordem não importa? Essa quantidade se escreve C(n,r), n escolhe r ou nCr, e é igual ao fatorial de n dividido pelo fatorial de r vezes o fatorial de (n menos r). Esta capacidade avalia essa fórmula com aritmética BigInt para que coeficientes grandes permaneçam exatos em vez de estourar ponto flutuante ou limites de inteiros seguros.
O que n escolhe r significa e por que BigInt importa
Combinações contam seleções sem ordem. Se você tem dez livros e quer quaisquer três para uma bolsa de fim de semana, o número de bolsas distintas é C(10,3), que se expande para fatorial de dez sobre fatorial de três vezes fatorial de sete e iguala cento e vinte. A ordem não importa: escolher o livro A, depois B e depois C é a mesma combinação que C, B e A; por isso as combinações são menores que as permutações com o mesmo n e r.
A forma fatorial clássica é fácil de escrever, mas desastrosa de avaliar de modo ingênuo para n grandes, porque n! cresce mais rápido do que qualquer tipo inteiro de largura fixa consegue guardar bem antes de a razão final ser moderada. Por isso esta ferramenta multiplica e divide em um laço reduzido—equivalente a construir o produto (n−r+1)…n sobre 1…r—usando JavaScript BigInt para que todo intermediário fique exato e a contagem final seja devolvida como string decimal.
A simetria C(n,r)=C(n,n−r) reduz o laço a min(r,n−r) passos. Esse contrato coincide com manuais de combinatória e juízes de competições de programação, de modo que você pode confiar no número frente a cálculos manuais para n pequenos e a tabelas conhecidas para n maiores sem deriva de ponto flutuante nem wraparound silencioso.
Como calcular suas combinações e ler o resultado
O campo n é o número total de itens distintos—o índice superior do coeficiente binomial—e deve ser um inteiro de zero a dez mil. O campo r é quantos itens você escolhe—o índice inferior—e deve ser um inteiro de zero até n. Uma resposta bem-sucedida devolve n e r como números, count como string decimal do valor binomial exato, e formula como a string C(n,r)=n!
/(r!( n-r)!) para que clientes possam exibir ou registrar a identidade sem codificá-la. Use a partir de corretoras de lição de casa, validadores de competição, sandboxes de preparação para entrevista, jobs de enriquecimento de planilha, demos de probabilidade que precisam de C(n,k) para probabilidades binomiais, ou qualquer fluxo que precise de contagem de combinações reproduzível sem instalar pacotes de multiprecisão em cada máquina do pipeline.
Casos de uso
Validadores de competições e preparação de entrevistas
Asserte soluções candidatas de problemas de contagem de combinações sem reimplementar aritmética binomial de multiprecisão em cada harness de linguagem.
Demos de probabilidade e montagem de modelos binomiais
Obtenha valores exatos de C(n,k) ao montar tabelas de probabilidade binomial ou ensinar combinatória, para que denominadores fiquem exatos antes de qualquer passo de probabilidade em ponto flutuante.
Perguntas frequentes
O que é n escolhe r (o coeficiente binomial)?
C(n,r) conta de quantas formas escolher r itens entre n distintos quando a ordem não importa. É igual a n! / (r! × (n−r)!).
Por que a contagem é devolvida como string?
Coeficientes 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 r for maior que n ou negativo?
Aqui as combinações só se definem para 0 ≤ r ≤ n com inteiros não negativos.
A calculadora de combinações é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
De quantas formas posso escolher 3 livros entre 10?
De 120 formas. Digite 10 como total e 3 como quantidade a escolher; pegar A, B e C é a mesma seleção que C, B e A, então a ordem não cria novas opções.
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/combinations \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10,"r":3}'const res = await fetch("https://api.kit.forhosting.com/combo/combinations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10,
"r": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/combo/combinations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10,
"r": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/combo/combinations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10,"r":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10,"r":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/combo/combinations", 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": 10,
"r": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "combo.combinations",
"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 com a mesma função pura na ferramenta gratuita do navegador e no caminho de API pré-paga—para que correções de lição de casa, validação de pipelines e sandboxes de entrevista compartilhem uma única resposta reproduzível.
O que n escolhe r significa e por que BigInt importa
Casos de fronteira estão bem definidos: C(n,0) e C(n,n) são sempre um, C(n,1) iguala n, e qualquer r maior que n ou índice negativo é rejeitado como invalid_input em vez de inventar uma extensão.
Como chamar a API e ler a resposta
Envie um corpo JSON com dois inteiros não negativos obrigatórios. Os aliases total e N são aceitos com o mesmo significado. Os aliases k, choose e R mapeiam para r. Validação falha—n ou r ausentes, não inteiro, fração, valor acima do máximo publicado, número negativo ou r maior que n—retorna invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo 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 dez e r igual a três produz cento e vinte; n igual a cinco e r igual a zero produz um; n igual a cinco e r igual a seis mostra o caminho de rejeição dura quando r é maior que n; e um r negativo mostra a rejeição por negativo. Landings irmãos podem mirar permutações, fatoriais ou números figurados; esta página é especificamente para quem busca calculadora de combinações, calculadora nCr ou ferramenta de coeficiente binomial. Não confunda combinações com permutações: se a ordem importa, você precisa de P(n,r) igual a n! /(n−r)!, que é outra intenção e outro landing. Mantenha n no máximo em dez mil para que o pior caso C(10000,5000) termine com rapidez no Worker e no navegador, ainda cobrindo tamanhos de competição e ensino muito além da faixa segura de Number. Se você precisa de coeficientes de multiprecisão com n nas centenas de milhares, use uma pilha de inteiros grandes dedicada off-line: esta capacidade leve de parse serve a checagens interativas, cola de API e demos de sala de aula. Como a fórmula multiplicativa é determinística, os estudantes podem recomputar casos pequenos à mão ou com planilha e bater com a API linha a linha. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém baratos scripts exploratórios quando usuários digitam valores ruins ao aprender o contrato. Prefira contagens exatas em string a forçar um Number de JavaScript para que coeficientes grandes nunca percam dígitos de baixa ordem no transporte JSON.
Casos de integração
Correção de lições e provas de coeficientes binomiais
Dê n e r aos alunos e confira o nCr calculado à mão com um resultado determinístico da API ou do navegador gratuito, sem ambiguidade de ponto flutuante.
Perguntas técnicas
C(n,0) ou C(n,n) são suportados?
Sim. Ambos valem 1 para qualquer n não negativo válido, inclusive n = 0 onde C(0,0) = 1.