Calcular el primorial de un numero en JAVA
El primorial de un número es el producto de todos los números primos menores o iguales a él. Analizando un poco la obtención del primorial de un número, nos puede recordar un poco al factorial y la verdad es que la solución de ambos problemas es muy parecido.
En este caso realizaremos este problema con el método recursivo con el cual lo resolveremos con un código muy limpio y simple de entender.
En este caso realizaremos este problema con el método recursivo con el cual lo resolveremos con un código muy limpio y simple de entender.
public class Primorial { public static void main(String[] args) { //Se muestra el primorial del numero 31 System.out.println(31 + ": " + primorial(31)); } //Funcion recursiva public static long primorial(int n) { //Caso final if(n == 2) { return 2; } if(esPrimo(n)) { return n * primorial(n-1); } return primorial(n-1); } public static boolean esPrimo(int n) { for(int i = 2; i <= Math.sqrt(n); i++) { if(n % i == 0) { return false; } } return true; } }
Comentarios
Publicar un comentario
Si tenéis alguna duda o sugerencia, no dudéis en comentar. ;)