Representação como soma de três quadrados
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².
Executar grátis
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
Envie n como inteiro JSON ou como uma string decimal simples. 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. As entradas respeitam o máximo publicado para tornar previsível a execução no navegador e pela API. 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. 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.
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.
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.
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. |