Representação como soma de três quadrados
O 310 pode ser escrito como 2² + 9² + 15², e o resultado mostra esses três números com a igualdade completa já conferida. Os números que nunca admitem essa soma, como o 7 ou o 28, são apontados de imediato. 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
- 310
- Quadrados
- 2, 9, 15
- Equação
- 310 = 2^2 + 9^2 + 15^2
Esta calculadora de representação como soma de três quadrados recebe um inteiro não negativo e encontra inteiros explícitos a, b e c tais que n = a² + b² + c². Ela também aplica o teorema dos três quadrados de Legendre antes da busca; assim, um inteiro na forma proibida 4^a(8b+7) gera um erro claro em vez de um cálculo inútil. O resultado inclui os três termos, uma equação legível e um indicador de verificação, sendo útil para estudo, testes de software e fluxos exatos de teoria dos números.
Transforme um teorema de existência em uma representação explícita
O teorema dos três quadrados de Legendre fornece um teste completo para determinar se um inteiro não negativo pode ser escrito como soma de três quadrados inteiros. Saber que a representação existe, porém, normalmente é apenas o começo. Exercícios, demonstrações, dados de teste e pesquisas computacionais costumam exigir os valores efetivos.
Informe n e a calculadora retornará uma tripla determinística em ordem crescente de busca, acompanhada de uma equação que você pode conferir diretamente. Zero é aceito, e termos iguais a zero são permitidos porque uma representação pode usar menos de três quadrados não nulos. Por exemplo, um quadrado perfeito pode ser retornado com dois termos zero.
O array squares contém as bases, não os valores já elevados ao quadrado; portanto, [1, 2, 3] significa 1² + 2² + 3². A equação elimina ambiguidades, enquanto o campo de verificação confirma que a aritmética inteira foi conferida antes da resposta. Chamadas repetidas com a mesma entrada devolvem a mesma representação, o que favorece documentação reproduzível e testes automatizados.
Entenda a forma proibida 4^a(8b+7)
Os únicos inteiros não negativos que não podem ser expressos como três quadrados são aqueles escritos na forma 4^a(8b+7), em que a e b são inteiros não negativos. A calculadora verifica essa condição removendo repetidamente os fatores de quatro e, em seguida, examinando o resto módulo oito. Se o valor reduzido for congruente a sete, não existe representação, e a solicitação retorna um erro de entrada inválida que identifica a forma proibida.
Isso é uma impossibilidade matemática, não um tempo limite nem uma resposta inconclusiva. Como exemplos rápidos, 7 é diretamente proibido, 28 é proibido porque equivale a 4 × 7, e 112 continua proibido depois da remoção de dois fatores de quatro. Em contraste, um número que simplesmente contém um fator de quatro não é excluído automaticamente; sua parte reduzida também precisa ser sete módulo oito.
Aplicar primeiro o teorema permite diferenciar com precisão uma entrada malformada, um tamanho não suportado e um inteiro válido comprovadamente sem solução. Também evita percorrer candidatos quando a matemática já resolveu a questão.
Use resultados determinísticos com segurança em programas
Strings são úteis quando um formulário fornece texto, mas sinais, espaços, casas decimais, separadores e notação científica são rejeitados para manter o significado exato. Para valores admissíveis, o algoritmo percorre o primeiro quadrado em ordem crescente e resolve o problema restante de dois quadrados com ponteiros inteiros opostos. Não usa rede, escolhas aleatórias, relógios nem estado compartilhado mutável.
Dessa forma, tanto a tripla bem-sucedida quanto cada decisão de validação permanecem estáveis em execuções repetidas. Em uma aplicação, leia as três entradas de squares e calcule a² + b² + c² separadamente se desejar uma asserção local; a equação serve para exibição. Trate uma resposta de forma proibida como um resultado do domínio comunicado pelo erro padrão de entrada inválida, em vez de tentar novamente.
Casos de uso
Conclua um exercício de teoria dos números
Encontre termos quadrados concretos após usar o teorema de Legendre para estabelecer que existe uma representação.
Gere dados de teste determinísticos
Crie triplas reproduzíveis e equações legíveis para programas que validam somas de quadrados.
Classifique entradas impossíveis
Identifique números da família proibida 4^a(8b+7) com um erro matemático explícito.
Perguntas frequentes
O que a capacidade retorna?
Ela retorna n, um array com as três bases dos quadrados, uma equação legível e um indicador de verificação.
Todo inteiro não negativo pode ser representado?
Não. Exatamente os inteiros da forma 4^a(8b+7) não podem ser escritos como soma de três quadrados.
Termos iguais a zero são permitidos?
Sim. O teorema trata de três quadrados inteiros, e um ou mais desses inteiros podem ser zero.
Solicitações repetidas retornam a mesma tripla?
Sim. A ordem da busca é determinística e não usa aleatoriedade, dados de rede nem o horário atual.
Por que o 7 não pode ser escrito como soma de três quadrados?
O teorema de Legendre exclui todo número que supera em 7 um múltiplo de 8, e também esses números multiplicados por qualquer potência de quatro. Por isso falham o 7, o 28, que é 4 × 7, e o 112.
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/sum-three-squares-rep \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":310}'const res = await fetch("https://api.kit.forhosting.com/numth/sum-three-squares-rep", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 310
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/sum-three-squares-rep",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 310
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/sum-three-squares-rep", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":310}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":310}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/sum-three-squares-rep", 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": 310
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_three_squares_rep",
"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 | 10000000 |
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
Use resultados determinísticos com segurança em programas
Envie n como inteiro JSON ou como uma string decimal simples. As entradas respeitam o máximo publicado para tornar previsível a execução no navegador e pela API. A versão do navegador executa o mesmo solucionador puro da API. O uso interativo nesta página é gratuito, e cada solicitação API custa US$ 0,002.
Perguntas técnicas
Quanto custa uma solicitação API?
Cada solicitação API custa US$ 0,002. Você também pode executar a calculadora gratuitamente no navegador nesta página.