números primos JavaScript

Comprobar números primos en JavaScript con divisores limitados

Implementa una prueba para enteros seguros y evita clasificar el uno, negativos o decimales como primos.

Tipo: Guía práctica Lectura: 3 min Actualizado: 2026-11-03
Ejemplo visual para Números primos en JavaScript: algoritmo simple y pruebas

Guía y comprobaciones

Qué entrada acepta este ejemplo

Un primo es un entero mayor que uno con dos divisores positivos: uno y él mismo. La función trabaja con enteros seguros de Number. Rechaza decimales, infinitos y valores que no puede representar exactamente.

function esPrimo(n) {
  if (!Number.isSafeInteger(n) || n < 2) return false;
  if (n === 2) return true;
  if (n % 2 === 0) return false;
  for (let divisor = 3; divisor <= n / divisor; divisor += 2) {
    if (n % divisor === 0) return false;
  }
  return true;
}
console.log([0, 1, 2, 9, 17, 25].map(esPrimo).join(','));
// false,false,true,false,true,false

Por qué basta llegar a la raíz

Si un número compuesto se escribe como un producto de dos factores, al menos uno de ellos no supera su raíz cuadrada. Si ambos fueran mayores, su producto superaría el número. La condición divisor <= n / divisor expresa ese límite sin calcular el cuadrado del divisor. Después de descartar los pares, sólo comprobamos divisores impares.

Este razonamiento no significa que los únicos divisores posibles sean primos ya conocidos; el bucle prueba impares y se detiene al encontrar uno que divide exactamente. Para una consulta educativa aislada resulta fácil de seguir.

Una lista de primos es otro problema

Para obtener muchos primos hasta un límite, repetir esta función para cada número puede ser menos apropiado que una criba. No prometas que el navegador manejará cualquier límite: controla el trabajo y evita bloquear la interfaz con rangos enormes.

Si la entrada procede de un campo de texto, conviértela sólo después de validar el formato. Una cadena vacía convertida a cero no representa una consulta real. Para enteros muy grandes, BigInt requiere otra implementación y pruebas; cambiar sólo el tipo de una variable no adapta automáticamente todas las operaciones.

Casos que detectan errores

El 1 comprueba la definición; el 2, el caso par excepcional; el 9 y el 25, que incluyas el divisor de la raíz; el 17, que no rechaces un primo impar. Añade un número negativo y un decimal para verificar el contrato de entrada.

Preguntas frecuentes

¿El uno es primo?

No. No tiene dos divisores positivos distintos.

¿Sirve para números de cualquier tamaño?

No. Esta implementación acepta enteros seguros de Number y no está diseñada para pruebas criptográficas ni rangos enormes.

Documentación oficial

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.