En este tutorial vamos a ver una función escrita en Java para saber si un número es primo. La función tomará un número entero (de tipo int
) y devolverá un booleano que dice si el número es o no primo.
Recordemos que un número es primo solo si es divisible entre 1 y entre sí mismo; en caso de que sea divisible entre cualquier otro número, se dice que no es primo.
Para saber si un número es primo se usa el operador módulo y se compara el valor devuelto con 0
.
Nota: mira este ejercicio en C.
Hay 3 casos especiales: si el número es 0, 1 o 4, el mismo no es primo.
Después se hace un ciclo for desde el 2 hasta la mitad del número del que se quiere saber si es primo, y se compara si no es divisible por ningún valor (2, 3, 4, 5, etcétera).
En caso de que dentro del ciclo se encuentre que el número es divisible, se regresa false
.
Si se termina el ciclo y el número no se pudo dividir, entonces se regresa true
.
Veamos el siguiente código fuente de Java en donde se muestra la función:
public static boolean esPrimo(int numero) {
// El 0, 1 y 4 no son primos
if (numero == 0 || numero == 1 || numero == 4) {
return false;
}
for (int x = 2; x < numero / 2; x++) {
// Si es divisible por cualquiera de estos números, no
// es primo
if (numero % x == 0)
return false;
}
// Si no se pudo dividir por ninguno de los de arriba, sí es primo
return true;
}
Es una función que regresa un booleano indicando si el número es o no primo. Para implementarlo podemos pedir un número al usuario e imprimir si el mismo es primo:
La salida es la siguiente:
Te invito a leer más sobre Matemáticas, Java o Algoritmos.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.