Obtener el menor divisor de un número en Java

Hola a todos, hoy os voy a explicar como podemos obtener el menor divisor de un número en Java.

Puse ser que necesitemos obtener el menor divisor de un número en Java, sin contar el número 1.

En el caso de que sea un número primo, el menor será el 1.

Para saber si un número es primo o no en Java, tenemos un manual donde hablamos de ello:

Número primo en Java

Lo primero que vamos a hacer es pedir un número y guardaremos en otra variable el número absoluto, para evitar problemas con negativos.

Antes de buscar el divisor, si es primo, el menor será 1. Pero debemos tener algo en cuenta, la función esPrimo, si el número es 1, nos devuelve que no es primo (no lo es), por lo que debemos tener en cuenta este caso.

A la hora de mostrar, también debemos tener en cuenta de si el número original es mayor que 0 o no.

Ahora, si que vamos a buscar el mayor divisor. Recorremos desde el número 2 hasta el número dado. Cuando encontremos el primero, saldremos del bucle y terminaremos la busqueda.

Por último, debemos mostrar el numero. Si el número original es negativo, lo pongo como negativo.

Veamos el resultado con diferentes números:

menor divisor 1 menor divisor 2

Si el número es primo:

menor divisor 3

menor divisor 4

También os lo dejo como una función para reutilizar en otros proyectos:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539