Una forma de representar un número natural es multiplicando exponentes de números primos. Por ejemplo, 6 puede representarse con 2 ^ 1 * 3 ^ 1, y 50 puede representarse con 2 ^ 1 * 5 ^ 2 (donde ^ indica exponencia). El número de números primos en esta representación puede ayudar a determinar si es más corto usar este método de representación, en comparación con otros métodos. Pero debido a que no quiero calcularlos a mano, necesito un programa que lo haga por mí. Sin embargo, como tendré que recordar el programa hasta que llegue a casa, debe ser lo más breve posible.
Tu tarea:
Escriba un programa o función para determinar cuántos primos distintos hay en esta representación de un número.
Entrada:
Un número entero n tal que 1 <n <10 ^ 12, tomado por cualquier método normal.
Salida:
El número de primos distintos que se requieren para representar la entrada, como se describe en la introducción.
Casos de prueba:
24 -> 2 (2^3*3^1)
126 -> 3 (2^1*3^2*7^1)
1538493 -> 4 (3^1*11^1*23^1*2027^1)
123456 -> 3 (2^6*3^1*643^1)
Este es OEIS A001221 .
Puntuación:
Este es el código de golf , ¡la puntuación más baja en bytes gana!