ForHosting KIT · Matemática

Calculadora de composições inteiras

Conte todas as formas ordenadas de dividir um inteiro em parcelas positivas: 5 tem 16 composições e 4 tem 8, porque 1+3 e 3+1 contam separadamente. Informe k partes para restringir a contagem. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Inteiro positivo a compor
5
Você obtém
Quantidade
16

Uma composição inteira de n é uma forma ordenada de escrever n como soma de inteiros positivos. Diferente das partições, a ordem importa: 1+3 e 3+1 são composições distintas de quatro. A combinatória clássica prova que existem exatamente dois elevado a n menos um composições de qualquer n positivo, e exatamente C(n−1, k−1) composições com precisamente k partes. Esta capacidade avalia essas fórmulas com aritmética BigInt para que contagens grandes permaneçam exatas como strings decimais, sem estourar ponto flutuante nem os limites de inteiros seguros.

O que são composições e como funcionam as duas fórmulas

Coloque n uns em fila e decida, para cada um dos n−1 vãos entre eles, se insere um separador. Cada padrão de separadores gera uma soma ordenada única de partes positivas que totaliza n, e toda composição surge desse modo—por isso o número total de composições é dois elevado a n menos um. Quando você exige exatamente k partes, deve escolher exatamente k−1 daqueles n−1 vãos para colocar separadores, o que é o coeficiente binomial C(n−1, k−1).

Checagem pequena: n igual a quatro tem as composições (4), (1,3), (3,1), (2,2), (1,1,2), (1,2,1), (2,1,1) e (1,1,1,1)—oito valores, batendo com dois elevado a três. Exatamente três partes de cinco: C(4,2) vale seis. Esta ferramenta multiplica e divide com JavaScript BigInt para que cada intermediário fique exato e a contagem final seja devolvida como string decimal, nunca arredondada.

Esse contrato combina 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 listagens manuais para n pequeno e frente a tabelas conhecidas para valores maiores, sem deriva de ponto flutuante nem wraparound silencioso.

Validadores para competições de programação e entrevistas

Valide soluções candidatas a problemas de contagem de composições sem reimplementar potências BigInt ou binomiais em cada harness de linguagem.

Ensino de estrelas e barras e somas ordenadas

Demonstre que composições de n valem 2^(n-1) e com exatamente k partes valem C(n-1,k-1) com contagens exatas ao vivo ao introduzir funções geradoras ou recursão.

O que é uma composição inteira?

Uma composição de n é uma tupla ordenada de inteiros positivos que somam n. A ordem importa: (1,3) e (3,1) são composições distintas de 4.

Quantas composições tem um inteiro positivo n?

Exatamente 2^(n−1) composições no total. Composições em exatamente k partes totalizam C(n−1, k−1).

Por que a contagem é devolvida como string?

Potências grandes de dois e binomiais 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 n for menor que 1 ou k for maior que n?

Esta calculadora exige n ≥ 1 e, quando k está definido, 1 ≤ k ≤ n.

A calculadora de composições inteiras é gratuita?

A ferramenta do navegador é gratuita e roda localmente.

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.

POSThttps://api.kit.forhosting.com/combo/compositions

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/combo/compositions \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":5}'
{
  "n": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "combo.compositions",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_n10000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Estudantes, professores, programadores de competição e engenheiros de dados obtêm um resultado JSON determinístico—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—de modo que checagens de lição de casa, validação de pipelines e sandboxes de entrevista compartilhem uma resposta reproduzível sempre que precisem de contagens de composições em vez de partições sem ordem ou do simples binomial n-escolhe-r.

O que são composições e como funcionam as duas fórmulas

Os casos de contorno são intencionais: n deve ser pelo menos um (zero e negativos são invalid_input, não uma extensão gratuita), k quando presente deve satisfazer de um a n, e omitir k devolve o total.

Como chamar a API e ler a resposta

Quando k é omitido ou vazio, o serviço devolve a contagem total de composições dois à potência n menos um. Quando k está definido, devolve C(n−1, k−1) e exige um menor ou igual a k menor ou igual a n. Uma resposta bem-sucedida inclui n como número, k como número ou null quando o modo total foi usado, count como string decimal do valor exato, e formula como a string 2^(n-1) ou C(n-1,k-1) para que clientes exibam ou registrem a identidade sem hard-codá-la. Use em corretores de lição, validadores de competição, sandboxes de preparação para entrevista, demos de funções geradoras ou qualquer fluxo que precise de contagem de composições reproduzível sem instalar pacotes de multiprecisão em cada máquina do pipeline. Envie um corpo JSON com o inteiro positivo obrigatório n—o inteiro que você deseja compor—de um até dez mil. Os aliases total, N e integer são aceitos com o mesmo significado. O campo opcional k é o número exato de partes; os aliases parts, num_parts e K mapeiam para k. Validação falha—n ausente, n abaixo de um, não inteiro, fração, valor acima do máximo publicado, ou k maior que n—devolve invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com item unitário e preço unitário marginal zero.

Dicas práticas, limites e intenções relacionadas

Ao ensinar, prefira exemplos emparelhados: n igual a quatro rende oito composições totais; n igual a cinco e k igual a três rende seis; n igual a cinco e k igual a um rende um (a única parte igual a n); n igual a cinco e k igual a cinco rende um (todos uns); n igual a zero demonstra a rejeição rígida para n abaixo de um; e k maior que n demonstra o caminho de k fora da faixa. Páginas irmãs podem mirar combinações (n escolhe r), multinomiais ou partições sem ordem; esta página é especificamente para quem busca uma calculadora de composições inteiras, partições ordenadas em partes positivas, ou composições de n em k partes. Não confunda composições com partições: se a ordem não importa, você precisa da função de partição p(n), que é outra intenção e outra landing. Mantenha n no máximo em dez mil para que potências e binomiais do pior caso terminem rápido no Worker e no navegador, ainda cobrindo tamanhos de competição e de ensino muito além da faixa segura de Number. Se precisar 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 checagens interativas, cola de API e demos de sala de aula. Como ambas as fórmulas são determinísticas, os alunos podem recomputar casos pequenos listando ou com planilha e bater com a API linha a linha. Tarefas falhas que devolvem invalid_input não consomem saldo pré-pago, o que mantém baratos 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 JavaScript Number, para que potências grandes de dois nunca percam dígitos de baixa ordem no transporte JSON.

Correção de lições e provas sobre composições

Dê aos alunos n (e k opcional) e confira as composições contadas à mão com um resultado determinístico da API ou do navegador gratuito, sem ambiguidade de ponto flutuante.

Ver a documentação completa do KIT →