ForHosting KIT · Matemática

Liste todas as composições ordenadas de um inteiro

O número 4 tem 8 composições, de 1+1+1+1 até o próprio 4, e esta ferramenta lista todas elas em uma ordem fixa, com o total ao lado. Aceita qualquer n de 1 a 16. 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
N
4
Você obtém
Quantidade
8

Uma composição ordenada de um inteiro positivo n é uma forma de escrever n como soma de inteiros positivos na qual a ordem das parcelas importa: 1+2 e 2+1 são composições diferentes de 3, e existem sempre exatamente 2 elevado a n menos um composições no total.

O que são composições ordenadas e como diferem de partições

Em teoria dos números e combinatória, uma composição de n é uma sequência ordenada de inteiros positivos cuja soma é n. Ao contrário das partições de inteiros, nas quais só importa o multiconjunto de parcelas e 1+2 é identificado com 2+1, as composições tratam cada ordenação como um objeto distinto. Para todo n de pelo menos um existem exatamente dois elevado a n menos um composições: cada composição corresponde a colocar ou omitir um separador entre unidades consecutivas em uma fila de n uns.

Os livros usam composições quando a ordem codifica sequência, classificação ou alocação em etapas—por exemplo tamanhos sucessivos de bloco em um cronograma, comprimentos de corrida em uma cadeia binária, ou tamanhos de passo ao longo de um caminho que deve cobrir exatamente n unidades. Os estudantes costumam confundir as duas famílias porque ambas respondem “como n pode ser escrito como soma”, mas só as composições se importam com a ordem da esquerda para a direita.

Devolver a lista ordenada completa torna essa distinção concreta: você vê cada rearranjo, e não um representante canônico ordenado, e o campo de contagem deve bater com a fórmula fechada, de modo que você identifica de imediato uma enumeração manual incompleta.

Como a capacidade enumera composições e quando ela recusa

O motor constrói cada composição por expansão recursiva da primeira parcela: para a soma restante r ele tenta cada tamanho de parcela k de um até r, acrescenta k ao prefixo em crescimento e continua até que o resto seja zero, ponto em que a sequência completa é registrada. Esse percurso produz uma ordem estável e determinística—requisições idênticas sempre geram o mesmo vetor de vetores—sem depender de relógio, aleatoriedade ou estado de rede.

A resposta reporta o próprio n, o vetor de composições e a contagem igual ao comprimento desse vetor (que é sempre dois elevado a n menos um para um n válido). Campos n ausentes, não inteiros ou malformados são recusados da mesma forma e nunca são cobrados.

Onde usar a lista e quanto custa

Aplicações típicas incluem verificar respostas de estudantes que listam composições de um dado n, gerar casos de teste exaustivos para funções que aceitam sequências ordenadas de parcelas, explorar identidades combinatórias que contam composições com tamanhos de parcela restritos ao pós-filtrar a lista completa, e documentar opções de encadeamento quando um orçamento de n unidades pode ser dividido em fases ordenadas.

Mantenha n dentro dos limites documentados para que a resposta continue gerenciável; se você só precisa da contagem, ainda pode usar esta ferramenta para n pequeno ou aplicar a fórmula fechada dois elevado a n menos um fora da ferramenta para trabalhos teóricos maiores. O caminho do navegador roda localmente e não exige conta. Trate a contagem devolvida como autoritativa para os vetores listados, em vez de recalcular o comprimento em código cliente que possa divergir deste contrato.

Verificação de tarefas e olimpíadas

Compare a lista ordenada de composições de um estudante para um dado n com a enumeração canônica completa e a contagem, em vez de corrigir árvores manuais parciais.

Exploração de combinatória e demos de ensino

Mostre ao vivo como a ordem distingue composições de partições, e confirme que a contagem devolvida sempre é igual a dois elevado a n menos um.

Como listo todas as composições ordenadas de um inteiro?

A resposta inclui as composições como vetores de parcelas, além da contagem.

Qual é a diferença entre uma composição e uma partição?

As composições tratam a ordem como significativa (1+2 difere de 2+1). As partições ignoram a ordem e mantêm apenas o multiconjunto de parcelas.

Quantas composições o 4 tem?

São 8: 1+1+1+1, 1+1+2, 1+2+1, 1+3, 2+1+1, 2+2, 3+1 e 4. Isso confere com 2^(n-1), então, se a sua lista feita à mão tiver menos, falta alguma.

Por que n só vai até 16?

A lista dobra a cada vez que n aumenta em um, então valores grandes gerariam uma resposta enorme. Até 16 a lista completa continua fácil de ler e conferir; se você só precisa da quantidade, a fórmula 2^(n-1) basta.

A lista sai sempre na mesma ordem?

Sim. O mesmo n sempre devolve a mesma lista na mesma ordem, montada testando cada primeira parte da menor para a maior, para que você compare respostas linha por linha.

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/numth/compositions-list

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/numth/compositions-list \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":4}'
{
  "n": 4
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.compositions_list",
  "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.

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.

Como a capacidade enumera composições e quando ela recusa

Você envia um corpo JSON com um único campo obrigatório n, um inteiro positivo de pelo menos um e no máximo dezesseis. Valores abaixo de um falham com invalid_input, porque zero e negativos não são inteiros positivos na definição usual de composição. Valores acima do teto publicado também falham com invalid_input: o tamanho da lista dobra a cada incremento de n, então uma enumeração sem limite explodiria o tamanho da resposta e o CPU do Worker; o máximo documentado mantém a listagem completa prática tanto para o navegador quanto para a API.

Onde usar a lista e quanto custa

Use a ferramenta gratuita do navegador quando quiser uma conferência visual rápida para um n pequeno, ou chame a API quando um script, um diário de notas, um gerador ou um caderno de pesquisa precisar resolver muitos valores da mesma forma todas as vezes. O uso da API é debitado do saldo pré-pago do KIT ao preço-base publicado de US$ 0,002 por requisição bem-sucedida; uma validação que falha não consome saldo.

Geração exaustiva de fixtures de teste

Alimente valores pequenos de n na API e use cada composição como um caso de entrada para funções que processam sequências ordenadas de inteiros positivos que somam um orçamento.

Por que a ferramenta recusa n grande?

O número de composições é 2^(n-1). Acima do máximo publicado a lista completa é grande demais para enumerar com segurança em uma única requisição, então a chamada falha com invalid_input.

A lista de composições de inteiros é grátis?

O widget do navegador é grátis e roda localmente. As chamadas à API usam o saldo pré-pago do KIT ao preço-base publicado de US$ 0,002; entrada inválida não é cobrada.

O resultado é sempre o mesmo para o mesmo n?

Sim. O algoritmo é enumeração recursiva pura, sem aleatoriedade nem carimbos de tempo, então entradas idênticas produzem JSON idêntico.

Ver a documentação completa do KIT →