ForHosting KIT · Utilidades de desarrollo

Prueba de primalidad de Lucas

Este verificador de la prueba de primalidad de Lucas convierte un certificado matemático compacto en un resultado de primalidad reproducible.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Proporcione un entero impar n, un testigo de Lucas propuesto y la factorización prima completa de n menos uno. La calculadora valida la propia factorización, evalúa las potencias modulares y los máximos comunes divisores requeridos, y solo certifica n cuando se cumplen todas las condiciones del teorema de Lucas. Las cadenas decimales conservan enteros exactos, incluso más allá del intervalo seguro habitual de JavaScript.

Prepare un certificado completo

Comience con el entero impar que desea certificar y factorice por completo n menos uno. Introduzca n y cada factor primo como cadena decimal canónica, ya que las cadenas conservan valores exactos hasta el límite de 64 bits. Cada factor aparece una sola vez con su exponente positivo. Por ejemplo, n = 29 tiene n menos uno = 28 = 2 al cuadrado por 7, de modo que la lista contiene 2 con exponente 2 y 7 con exponente 1. También debe proporcionar una base a que cumpla 1 < a < n. Esta base es el testigo de Lucas propuesto. El verificador exige deliberadamente el testigo en vez de buscarlo: verificar un certificado es rápido, acotado y repetible, mientras que una búsqueda puede tener una duración dependiente de la entrada. Si aún no dispone de un testigo, pruebe bases pequeñas con una herramienta independiente de raíces primitivas y envíe después el certificado obtenido. Se rechazan espacios, signos, ceros iniciales, notación de coma flotante, primos duplicados, factores compuestos y factores ausentes, en lugar de normalizarlos silenciosamente; así, el certificado resulta apropiado para registros de auditoría y procesos automatizados.

Comprenda las dos condiciones de Lucas

El primer cálculo comprueba que a elevado a n menos uno sea congruente con 1 módulo n. Es la conocida condición de Fermat, pero por sí sola no demuestra primalidad porque algunos pseudoprimos pueden cumplirla. La segunda etapa decisiva usa cada primo distinto q que divide n menos uno. Para cada q, el verificador calcula a elevado a (n menos uno) dividido por q módulo n, resta uno y verifica que el resultado tenga máximo común divisor 1 con n. Superar todas estas comprobaciones demuestra que el orden multiplicativo de a módulo n es exactamente n menos uno. Ningún elemento módulo n puede tener ese orden salvo que n sea primo, y esta es la esencia del teorema de Lucas. Los registros devueltos muestran el residuo modular y el máximo común divisor para cada q distinto, mientras que el exponente permanece visible como parte de la factorización validada. La exponenciación modular emplea cuadrados sucesivos y aritmética BigInt exacta, por lo que el cálculo nunca depende del redondeo de coma flotante, bases aleatorias, servicios de red ni confianza probabilística.

Interprete los fallos y la salida correcta

Una respuesta correcta constituye el resultado de un certificado de primalidad, no una simple etiqueta de primo probable. Repite n, identifica el testigo aceptado, informa del residuo de Fermat y enumera una comprobación correcta del máximo común divisor para cada factor distinto de n menos uno. Conserve la entrada original junto con la respuesta cuando otro sistema necesite reproducir la prueba. Los fallos son específicos de forma intencionada. Si las potencias de los factores no multiplican exactamente n menos uno, la factorización está incompleta o es incorrecta. Si un factor indicado es compuesto o el mismo primo aparece dos veces, la factorización está mal formada aunque el producto bruto coincida. El fallo de una condición modular significa que la base proporcionada no es un testigo de Lucas; por sí solo no distingue entre un n compuesto y un primo acompañado de una base inadecuada. Pruebe otro testigo con justificación matemática si aún espera que sea primo. Las entradas se limitan a enteros impares desde 3 hasta 2^64 menos 1, lo que permite validar determinísticamente los factores primos indicados antes de evaluar el certificado. El precio de la API es $0.002 por solicitud.

Verifique un primo generado

Compruebe un candidato y su factorización de construcción antes de usar el primo en otro cálculo exacto.

Reproduzca un certificado

Valide un testigo de Lucas procedente de un artículo, ejercicio académico o cálculo archivado con residuos intermedios explícitos.

Controle datos de teoría de números

Rechace factorizaciones incompletas y testigos inválidos antes de admitir supuestos primos en un conjunto fiable.

¿Un resultado correcto demuestra la primalidad?

Sí. Cuando la factorización completa es válida y se cumplen todas las condiciones de Lucas, el resultado es una prueba determinista de primalidad para el n proporcionado.

¿Por qué debo proporcionar una base?

La base es el testigo incluido en el certificado. Exigirla mantiene la verificación acotada y reproducible, en vez de realizar una búsqueda abierta de una raíz primitiva.

¿Qué ocurre si falla una base?

Esa base no es un testigo válido. El candidato puede ser compuesto o primo con otro testigo adecuado; el fallo por sí solo no decide cuál de los dos casos se da.

¿Por qué se introducen los enteros como cadenas?

Las cadenas decimales evitan pérdidas de precisión con enteros mayores que el intervalo numérico seguro de JavaScript. Las salidas usan cadenas por la misma razón.

¿Cómo se comprueba la factorización?

Cada factor se somete a una prueba determinista de primalidad, se rechazan duplicados y el producto de todas las potencias primas debe ser exactamente n menos uno.

¿Cuánto cuesta?

Cada solicitud API cuesta $0.002. La implementación del navegador utiliza el mismo cálculo puro.

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.

POSThttps://api.kit.forhosting.com/numth/lucas-primality-test

¿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.

curl -X POST https://api.kit.forhosting.com/numth/lucas-primality-test \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":"29","base":"2","factors":[{"prime":"2","exponent":2},{"prime":"7","exponent":1}]}'
{
  "n": "29",
  "base": "2",
  "factors": [
    {
      "prime": "2",
      "exponent": 2
    },
    {
      "prime": "7",
      "exponent": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.lucas_primality_test",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_bits64
max_factors64
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →