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.

El primorial en java

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

Entradas populares de este blog

Ordenar cualquier array con SORT en JAVA

Modificadores de acceso (public, protected y private) JAVA

Calcular factorial de un numero en JAVA