Une façon de représenter un nombre naturel consiste à multiplier les exposants des nombres premiers. Par exemple, 6 peut être représenté par 2 ^ 1 * 3 ^ 1, et 50 peut être représenté par 2 ^ 1 * 5 ^ 2 (où ^ indique une exponention). Le nombre de nombres premiers dans cette représentation peut aider à déterminer s'il est plus court d'utiliser cette méthode de représentation, par rapport à d'autres méthodes. Mais parce que je ne veux pas les calculer à la main, j'ai besoin d'un programme pour le faire pour moi. Cependant, parce que je devrai me souvenir du programme jusqu'à mon retour à la maison, il doit être aussi court que possible.
Ta tâche:
Écrivez un programme ou une fonction pour déterminer le nombre de nombres premiers distincts dans cette représentation d'un nombre.
Contribution:
Un entier n tel que 1 <n <10 ^ 12, pris par n'importe quelle méthode normale.
Production:
Le nombre de nombres premiers distincts qui sont requis pour représenter l'entrée, comme indiqué dans l'introduction.
Cas de test:
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)
Il s'agit d' OEIS A001221 .
Notation:
C'est le code-golf , le score le plus bas en octets gagne!