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.
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.
Función para saber si un número es primo
Veamos el siguiente código fuente de Java en donde se muestra la función:
publicstaticbooleanesPrimo(int numero){// El 0, 1 y 4 no son primosif(numero ==0|| numero ==1|| numero ==4){returnfalse;}for(int x =2; x < numero /2; x++){// Si es divisible por cualquiera de estos números, no// es primoif(numero % x ==0)returnfalse;}// Si no se pudo dividir por ninguno de los de arriba, sí es primoreturntrue;}
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:
Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto
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.
Hoy vamos a ver cómo imprimir todos los números primos existentes dentro de un rango en Java, usando el ciclo for y una función para saber si un número es primo. Vamos a pedir el inicio y el fin usando un Scanner, y después vamos a imprimir todos los números…
En múltiples ejercicios de programación se dice o menciona la palabra "divisible" de un número, en este pequeño post te explico qué quiere decir si un número es divisible entre otro, y cómo saber si un número es divisible entre otro usando el operador módulo. No veremos la definición matemática,…
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…
En "Algoritmos"
2 comentarios en “Java – Saber si un número es primo”
David
Usando ese algoritmo, devuelve que el 13 no es primo…y sí que lo es…
Acabo de ejecutar el código y devuelve que 13 sí es primo
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;
}
System.out.println("¿Es? " + esPrimo(13));
Usando ese algoritmo, devuelve que el 13 no es primo…y sí que lo es…
Acabo de ejecutar el código y devuelve que 13 sí es primo
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; } System.out.println("¿Es? " + esPrimo(13));
Salida: ¿Es? true