Símbolo de Legendre (a/p)
O símbolo de Legendre (2/7) vale 1, então 2 é um quadrado módulo 7: 3 vezes 3 é 9, que deixa resto 2. Digite qualquer inteiro e um primo ímpar para obter 1, −1 ou 0 com uma leitura clara do resultado. 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
- A
- 2
- Potência (W)
- 7
- A módulo
- 2
- Símbolo
- 1
- Interpretação
- a is a quadratic residue modulo p
O símbolo de Legendre é o teste clássico de residualidade quadrática módulo um primo ímpar. Dado um inteiro a e um primo ímpar p, o símbolo (a/p) vale zero quando p divide a, um quando a é um quadrado não nulo módulo p, e menos um quando a é um não resíduo quadrático. Cursos de criptografia, algoritmos ligados à primalidade, provas de reciprocidade cúbica e quadrática e problemas de programação competitiva dependem desse indicador de três valores. Muitas linguagens expõem exponenciação modular, mas deixam a convenção de residualidade e a checagem de primalidade para você. Esta calculadora aceita a e p, verifica que p é um primo ímpar, aplica o critério de Euler de forma determinística e retorna o símbolo junto com o resíduo reduzido de a e uma breve interpretação, para que você use o resultado sem rederivar a potência modular à mão.
O que o símbolo de Legendre significa e por que importa
Na aritmética modular a pergunta «existe um inteiro x com x ao quadrado congruente a a módulo p?» é fundamental. Quando p é um primo ímpar a resposta colapsa em três casos limpos.
Se a é divisível por p, o símbolo é definido como zero. Se a não é divisível por p, metade dos resíduos não nulos são quadrados (resíduos quadráticos) e a outra metade não; o símbolo de Legendre é mais um para resíduos e menos um para não resíduos.
Essa tricotomia aparece na lei de reciprocidade quadrática, em provas de que certas equações diofantinas não têm solução, na análise do algoritmo de raiz quadrada de Tonelli–Shanks e em apresentações de livro das ideias de primalidade de Miller–Rabin e Solovay–Strassen que comparam o critério de Euler a um valor de Jacobi declarado. Rejeitar módulos compostos ou pares faz parte do contrato: o símbolo de Legendre não é definido para esses módulos, e uma extensão silenciosa no estilo Jacobi enganaria quem pediu Legendre especificamente.
Como esta calculadora avalia (a/p) com o critério de Euler
Chame a capacidade com os campos inteiros a e p, onde p deve ser um primo ímpar entre três e um trilhão inclusive, e a um inteiro cujo valor absoluto seja no máximo um trilhão. A implementação primeiro valida tipos e limites e depois executa um teste de primalidade determinístico por divisão de tentativa em p. O critério de Euler afirma que a elevado à potência (p menos um) dividida por dois é congruente módulo p ao símbolo de Legendre.
A calculadora computa essa potência modular com aritmética exata BigInt para que produtos intermediários nunca percam precisão dentro dos limites publicados. Se a potência é um o símbolo é um. Se a potência é p menos um o símbolo é menos um.
Casos de uso
Labs de cripto e teoria dos números
Instrutores e alunos podem checar residualidade quadrática módulo primos ímpares sob demanda e ver um erro explícito quando um módulo de amostra é composto ou par.
Programação competitiva e reciprocidade
Programadores competitivos podem verificar valores de Legendre ao resolver problemas de reciprocidade ou validar que um passo de raiz quadrada módulo p está justificado.
Perguntas frequentes
O que acontece se p não for um primo ímpar?
A mensagem afirma que p deve ser um primo ímpar (por exemplo quando p é par ou composto). Validação falha não é cobrada.
Qual algoritmo calcula o símbolo?
O critério de Euler: (a/p) ≡ a^((p−1)/2) (mod p). A potência modular é avaliada com aritmética inteira exata após reduzir a módulo p e verificar que p é um primo ímpar.
A calculadora do símbolo de Legendre é grátis?
A ferramenta do navegador roda grátis no seu dispositivo.
Quais faixas de a e p são aceitas?
p deve ser um primo ímpar de 3 a 1,000,000,000,000. a deve ser um inteiro cujo valor absoluto seja no máximo esse mesmo limite. Valores fora desses limites, ou p composto/par, são rejeitados.
2 é um resíduo quadrático módulo 7?
Sim. O símbolo de Legendre (2/7) vale 1, o que significa que algum quadrado deixa resto 2 na divisão por 7. Por exemplo, 3 ao quadrado é 9, e 9 dividido por 7 deixa resto 2.
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/legendre-symbol \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-symbol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-symbol",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-symbol", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-symbol", 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
{
"a": 2,
"p": 7
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"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_abs | 1000000000000 |
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
O que o símbolo de Legendre significa e por que importa
Devolver um objeto estruturado com symbol, a_mod e interpretation poupa os chamadores de mapear uma potência modular bruta para o conjunto convencional {−1, 0, 1} e de esquecer que p igual a dois fica fora da definição clássica.
Como esta calculadora avalia (a/p) com o critério de Euler
Valores pares, compostos e p igual a dois falham com invalid_input e uma mensagem que nomeia p; nada é cobrado. Quando p é aceito, a é reduzido a a_mod no intervalo de zero a p menos um. Se a_mod é zero o símbolo é zero. Qualquer outra potência indicaria um módulo não primo e é tratada como invalid_input por segurança. A resposta inclui a, p, a_mod, symbol, residue (true, false ou null quando o símbolo é zero) e interpretation.
Uso prático, limites, preços e entrega
Use a ferramenta do navegador quando quiser uma checagem rápida de residualidade ao ler uma nota de criptografia, verificar uma congruência de tarefa ou depurar uma rotina de raiz quadrada módulo p. As entradas aceitas são inteiros a com valor absoluto no máximo um trilhão e primos ímpares p de três a um trilhão. Se você precisa do símbolo de Jacobi para módulos ímpares compostos ou de uma raiz quadrada modular explícita quando o símbolo é um, use uma capacidade ou algoritmo dedicado; esta ferramenta para deliberadamente na tricotomia de Legendre. Use a API quando um script, corretor ou plataforma educacional precisar de muitas avaliações de Legendre sem embutir o critério de Euler e um filtro de primos. Cada requisição bem-sucedida é um item faturável a US$ 0,002; falhas de validação e módulos não primos não consomem saldo. Os resultados são determinísticos: o mesmo par sempre produz o mesmo símbolo, o mesmo a_mod e a mesma string de interpretação. Conecte o endpoint a demos de reciprocidade quadrática, ajudas de programação competitiva, sandboxes de ensino cripto ou qualquer pipeline inteiro que prefira aritmética exata a heurísticas aproximadas. Como a unidade é um único item e o motor é parse puro, a latência permanece baixa e o canal web gratuito espelha a API paga sem um segundo caminho de código que possa divergir.
Casos de integração
Corretores de tarefas e pipelines simbólicos
Corretores automáticos e scripts podem confirmar (a/p) ∈ {−1,0,1}, detectar p não primo via invalid_input e manter cada produto intermediário dentro de limites documentados.
Perguntas técnicas
Como calculo o símbolo de Legendre com esta API?
Envie JSON com os campos inteiros a e p (p primo ímpar) para numth.legendre_symbol. Em sucesso a resposta retorna symbol em {−1, 0, 1}, mais a_mod, residue e interpretation.