Símbolo de Legendre (a/p)
El símbolo de Legendre (2/7) vale 1, así que 2 es un cuadrado módulo 7: 3 por 3 es 9, que deja resto 2. Escriba cualquier entero y un primo impar para obtener 1, −1 o 0 con una lectura clara del resultado. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- A
- 2
- Potencia (W)
- 7
- A módulo
- 2
- Símbolo
- 1
- Interpretación
- a is a quadratic residue modulo p
El símbolo de Legendre es la prueba clásica de residualidad cuadrática módulo un primo impar. Dado un entero a y un primo impar p, el símbolo (a/p) vale cero cuando p divide a, uno cuando a es un cuadrado no nulo módulo p, y menos uno cuando a es un no residuo cuadrático. Los cursos de criptografía, los algoritmos ligados a la primalidad, las demostraciones de reciprocidad cúbica y cuadrática, y los problemas de programación competitiva se apoyan en este indicador de tres valores. Muchos lenguajes exponen la exponenciación modular pero dejan la convención de residualidad y la comprobación de primalidad a usted. Esta calculadora acepta a y p, verifica que p sea un primo impar, aplica el criterio de Euler de forma determinista y devuelve el símbolo junto con el residuo reducido de a y una breve interpretación, para que pueda usar el resultado sin volver a derivar la potencia modular a mano.
Qué significa el símbolo de Legendre y por qué importa
En aritmética modular la pregunta «¿existe un entero x tal que x al cuadrado es congruente con a módulo p?» es fundamental. Cuando p es un primo impar la respuesta se reduce a tres casos limpios.
Si a es divisible por p, el símbolo se define como cero. Si a no es divisible por p, la mitad de los residuos no nulos son cuadrados (residuos cuadráticos) y la otra mitad no lo son; el símbolo de Legendre vale más uno para residuos y menos uno para no residuos.
Esta tricotomía aparece en la ley de reciprocidad cuadrática, en demostraciones de que ciertas ecuaciones diofánticas no tienen solución, en el análisis del algoritmo de raíz cuadrada de Tonelli–Shanks, y en presentaciones de libro de las ideas de primalidad de Miller–Rabin y Solovay–Strassen que comparan el criterio de Euler con un valor de Jacobi declarado. Rechazar módulos compuestos o pares forma parte del contrato: el símbolo de Legendre no está definido para esos módulos, y una extensión silenciosa al estilo Jacobi engañaría a quien pidió Legendre en concreto.
Cómo evalúa esta calculadora (a/p) con el criterio de Euler
Llame a la capacidad con los campos enteros a y p, donde p debe ser un primo impar entre tres y un billón inclusive, y a un entero cuyo valor absoluto sea a lo sumo un billón. La implementación valida primero tipos y cotas, y luego ejecuta un test de primalidad determinista por división de prueba sobre p. El criterio de Euler afirma que a elevado a la potencia (p menos uno) dividido por dos es congruente módulo p con el símbolo de Legendre.
La calculadora computa esa potencia modular con aritmética exacta BigInt para que los productos intermedios no pierdan precisión dentro de las cotas publicadas. Si la potencia es uno el símbolo es uno. Si la potencia es p menos uno el símbolo es menos uno.
Qué puede hacer con ella
Laboratorios de cripto y teoría de números
Docentes y alumnos pueden comprobar residualidad cuadrática módulo primos impares bajo demanda y ver un error explícito cuando un módulo de muestra es compuesto o par.
Programación competitiva y reciprocidad
Los competidores pueden verificar valores de Legendre al resolver problemas de reciprocidad o validar que un paso de raíz cuadrada módulo p está justificado.
Preguntas frecuentes
¿Qué ocurre si p no es un primo impar?
El mensaje indica que p debe ser un primo impar (por ejemplo cuando p es par o compuesto). La validación fallida no se cobra.
¿Qué algoritmo calcula el símbolo?
El criterio de Euler: (a/p) ≡ a^((p−1)/2) (mod p). La potencia modular se evalúa con aritmética entera exacta tras reducir a módulo p y verificar que p es un primo impar.
¿Es gratuita la calculadora del símbolo de Legendre?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿Qué rangos de a y p se aceptan?
p debe ser un primo impar de 3 a 1,000,000,000,000. a debe ser un entero cuyo valor absoluto sea a lo sumo esa misma cota. Valores fuera de esos límites, o p compuesto/par, se rechazan.
¿Es 2 un residuo cuadrático módulo 7?
Sí. El símbolo de Legendre (2/7) vale 1, lo que significa que algún cuadrado deja resto 2 al dividirlo entre 7. Por ejemplo, 3 al cuadrado es 9, y 9 entre 7 deja resto 2.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"a": 2,
"p": 7
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_abs | 1000000000000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Qué significa el símbolo de Legendre y por qué importa
Devolver un objeto estructurado con symbol, a_mod e interpretation ahorra a los llamadores mapear una potencia modular cruda al conjunto convencional {−1, 0, 1} y olvidar que p igual a dos queda fuera de la definición clásica.
Cómo evalúa esta calculadora (a/p) con el criterio de Euler
Los valores pares, los compuestos y p igual a dos fallan con invalid_input y un mensaje que nombra p; no se cobra nada. Cuando p se acepta, a se reduce a a_mod en el rango de cero a p menos uno. Si a_mod es cero el símbolo es cero. Cualquier otra potencia indicaría un módulo no primo y se trata como invalid_input por seguridad. La respuesta incluye a, p, a_mod, symbol, residue (true, false o null cuando el símbolo es cero) e interpretation.
Uso práctico, límites, precios y entrega
Use la herramienta del navegador cuando quiera una comprobación rápida de residualidad al leer una nota de criptografía, verificar una congruencia de tarea o depurar una rutina de raíz cuadrada módulo p. Las entradas aceptadas son enteros a con valor absoluto a lo sumo un billón y primos impares p de tres a un billón. Si necesita el símbolo de Jacobi para módulos impares compuestos o una raíz cuadrada modular explícita cuando el símbolo es uno, use una capacidad o algoritmo dedicado; esta herramienta se detiene deliberadamente en la tricotomía de Legendre. Use la API cuando un script, corrector o plataforma educativa necesite muchas evaluaciones de Legendre sin incrustar el criterio de Euler y un filtro de primos. Cada petición exitosa es un ítem facturable a $0.002; los fallos de validación y los módulos no primos no consumen saldo. Los resultados son deterministas: el mismo par siempre produce el mismo símbolo, el mismo a_mod y la misma cadena de interpretación. Conecte el endpoint a demos de reciprocidad cuadrática, ayudas de programación competitiva, sandboxes de enseñanza cripto o cualquier pipeline entero que prefiera aritmética exacta frente a heurísticas aproximadas. Como la unidad es un solo ítem y el motor es parse puro, la latencia se mantiene baja y el canal web gratuito refleja la API de pago sin un segundo camino de código que pueda divergir.
Casos de integración
Correctores de tareas y pipelines simbólicos
Correctores automáticos y scripts pueden confirmar (a/p) ∈ {−1,0,1}, detectar p no primo vía invalid_input y mantener cada producto intermedio dentro de cotas documentadas.
Preguntas técnicas
¿Cómo calculo el símbolo de Legendre con esta API?
Envíe JSON con los campos enteros a y p (p primo impar) a numth.legendre_symbol. En éxito la respuesta devuelve symbol en {−1, 0, 1}, más a_mod, residue e interpretation.