javascript

JavaScript – Saber si número es primo

En este artículo sobre algoritmos en JavaScript vamos a ver una función que determina si un número es primo.

Recordemos que para saber si número es primo en JavaScript debemos hacer un ciclo desde 0 hasta la mitad del número e ir probando si es divisible.

Al final tendremos una función que regresará un booleano y nos permitirá saber si un número es primo.

El algoritmo

Como lo dije, un número es primo solo si es divisible entre 1 y sí mismo.

Por ejemplo, el número 4 no es primo porque es divisible entre 2.En cambio el 7 sí es primo porque solo se puede dividir entre 1 y entre sí mismo, es decir, entre 7.

Si no sabes lo que significa “ser divisible” mira este post.

Para determinar si un número es primo, simplemente aplicamos un algoritmo optimizado que hace un ciclo desde 0 hasta la mitad del número, y por cada paso intentamos dividir.

Si encontramos que el número es divisible, entonces no es primo; en cambio, si terminamos el ciclo y no se pudo dividir, se dice que sí es primo.

Función para determinar si un número es primo en JavaScript

Basta de charlas, veamos el código. Tenemos la siguiente función que recibe el número e indica si es o no primo:

See the gist on github.

Por definición, el 0 y el 1 no son primos.

El 4 lo manejo así porque es un caso especial para el algoritmo, ya al dividir 4 entre 2, el ciclo no se cumple y por lo tanto se diría que el 4 sí es primo, cosa que es errónea.

Probar función

Esta función funciona tanto del lado del servidor como del lado del cliente; es decir, con Node JS y en los navegadores web.

Voy a hacer unas pruebas:

See the gist on github.

Tenemos un arreglo de números para probar, los recorremos con forEach y vamos probando por cada uno. Como ves, la salida es correcta así que la invocación es algo así:

let elNumeroEsPrimo = esPrimo(numero);

Si te causa confusión la sintaxis de la función recuerda que es una arrow function. Por cierto, puedes ejecutar el ejercicio aquí.

He implementado este algoritmo en otros lenguajes como C, C++ y Java.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

2 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

2 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

2 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

3 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.