Representação do problema de Waring
Com quadrados, o 30 fica 25 + 4 + 1, ou seja, 5² + 2² + 1², pegando sempre o maior quadrado que cabe. Escolha um número e uma potência de dois ou mais para ver cada termo e uma soma que confere. 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
- 30
- K
- 2
- Bases
- 5, 2, 1
- Quantidade de termos
- 3
- Sum
- 30
- Representação
- 5^2 + 2^2 + 1^2
A pergunta clássica de Waring investiga como todo número natural pode ser escrito como soma de potências k-ésimas de inteiros não negativos. Esta capacidade implementa a construção gulosa padrão: dado um inteiro não negativo n e um expoente k de pelo menos dois, subtrai de forma reiterada a maior potência k-ésima perfeita que não ultrapassa o resto até zerá-lo. Você recebe a lista ordenada de bases, o valor de cada termo, uma cadeia de exibição e uma soma que iguala n em cada chamada bem-sucedida. Os limites mantêm n e k em aritmética inteira segura para workers de borda sem multiprecisão.
O que significa a representação gulosa no estilo Waring
Uma potência k-ésima é um inteiro da forma m elevado a k, onde m é um inteiro não negativo e k é um expoente fixo. O problema de Waring na teoria dos números estuda o menor g(k) tal que todo natural é soma de no máximo g(k) potências desse tipo; teoremas clássicos dão g(2) igual a quatro (teorema dos quatro quadrados de Lagrange) e cotas explícitas para k maiores.
Aplica a heurística gulosa transparente de manuais e competições: enquanto o resto r for positivo, escolha o maior m com m à k no máximo r, registre essa base e substitua r por r menos m à k. Como um à k é sempre um para k maior ou igual a um, todo inteiro não negativo admite expansão gulosa finita e o laço termina com soma igual a n.
A expansão gulosa nem sempre é mínima—vinte e três em cubos é o exemplo clássico em que a ganância usa dois cubos de dois e sete uns, enquanto outras identidades usam menos cubos—mas é única como procedimento, totalmente determinística e fácil de auditar termo a termo. O zero é representado como soma vazia com a cadeia zero. Potências perfeitas colapsam a um único termo: cem com k igual a dois produz apenas dez ao quadrado.
Contrato de entrada, campos de resposta e validação
Um campo formula breve reafirma a regra gulosa para que a interface não invente prosa. Raízes k-ésimas inteiras são calculadas por busca binária verificada sobre multiplicações inteiras, de modo que o Math.pow flutuante é só semente, nunca a única autoridade. Um teto de dez mil termos protege o tamanho da resposta se restos extremos empilharem uns; com o limite de n publicado essa guarda é cinto de segurança, não caminho comum.
Exemplo: n igual a trinta e k igual a dois devolve bases cinco, dois, um e a cadeia cinco ao quadrado mais dois ao quadrado mais um ao quadrado.
Casos de uso
Demonstrações de Waring em sala
Mostre aos alunos como a ganância monta uma soma de quadrados ou cubos para qualquer n, com cada base e valor listos para o quadro.
Oráculos de competições e LMS
Corrija tarefas de programação que aceitem qualquer expansão válida em potências k-ésimas comparando com esta referência gulosa determinística.
Perguntas frequentes
Como funciona a calculadora de representação do problema de Waring?
Envie o inteiro não negativo n e o expoente k >= 2.
A expansão gulosa é sempre a mais curta?
Não. A ganância é única como procedimento e sempre correta como soma, mas podem existir expansões mais curtas (por exemplo em alguns cubos).
Como o 30 é escrito como soma de quadrados?
O maior quadrado que não passa de 30 é 25, e sobram 5. Depois cabe 4, sobra 1, e por fim 1. Assim, 30 = 5² + 2² + 1², três termos que somam 30 de novo.
O que acontece se o número já é uma potência exata?
Ele volta como um único termo. Com quadrados, o 100 é simplesmente 10², porque o maior quadrado que cabe é o próprio número e não sobra nada.
Qual é o resultado para o zero?
O zero aparece como uma soma vazia, escrita simplesmente como zero. Não é preciso tirar nenhuma potência, então a lista de termos fica vazia e o total continua conferindo.
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/numth/waring-representation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":30,"k":2}'const res = await fetch("https://api.kit.forhosting.com/numth/waring-representation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 30,
"k": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/waring-representation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 30,
"k": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/waring-representation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":30,"k":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":30,"k":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/waring-representation", 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": 30,
"k": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.waring_representation",
"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 | 1000000000 |
max_k | 40 |
max_terms | 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
Potências abaixo de dois são rejeitadas com invalid_input em vez de tratar em silêncio primeiras potências como soma trivial de uns.
O que significa a representação gulosa no estilo Waring
Este endpoint não busca a representação mais curta nem prova g(k).
Contrato de entrada, campos de resposta e validação
Envie por POST um corpo JSON com dois inteiros obrigatórios: n, o alvo não negativo de zero a um bilhão, e k, o expoente com mínimo dois e máximo quarenta. Aceitam-se os aliases number para n e power para k por comodidade do cliente. Campos ausentes, não inteiros, frações, n negativo, k menor que dois ou valores acima dos tetos publicados falham com invalid_input nomeando o problema; essas falhas não são cobradas. Em sucesso o payload ecoa n e k, lista as bases na ordem que a ganância produziu (não crescente), expande terms como objetos com base, power e value, informa term_count e sum (sempre igual a n) e monta uma cadeia legível unindo cada base caret potência com sinais de mais.
Onde uma API de soma gulosa de potências agrega valor
Cursos de teoria dos números e preparação olímpica precisam de um oráculo ao vivo que transforme uma discussão abstrata sobre Waring em bases concretas que os alunos possam conferir à mão. Mantenha n e k dentro dos limites documentados, fixe representation e bases nos testes, e obtenha expansões no estilo Waring reproduzíveis para lições de casa, plugins LMS e workers de borda sem levantar infraestrutura de matemática simbólica própria. Plataformas de programação usam o mesmo laço guloso como solução de referência quando o enunciado pede qualquer expansão válida, não a mínima, e uma pequena API de parse evita embarcar multiprecisão ou CAS nos corretores. Cadernos de pesquisa que comparam o comprimento guloso com cotas conhecidas de g(k) podem enviar muitos pares (n, k) pela API e registrar term_count sem reimplementar a raiz inteira em cada linguagem. Por ser parse de nível A puro, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo nem rede de saída, e entrada inválida não consome saldo.
Casos de integração
Linhas de base de comprimento mínimo
Registre em lote o term_count guloso frente a cotas conhecidas de g(k) ao explorar quão longe a ganância fica do comprimento ótimo de Waring.
Perguntas técnicas
Por que se exige que k seja pelo menos dois?
Perguntas no estilo Waring sobre potências k-ésimas começam nos quadrados (k=2). Primeiras potências só partiriam n em uns; k menor que dois é rejeitado com invalid_input e não é cobrado.
O que a resposta contém?
n e k ecoados, bases em ordem gulosa, terms com base/power/value, term_count, sum igual a n, uma cadeia representation e um rótulo formula breve.
Quanto custa a ferramenta de representação de Waring?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.