J'ai vu un autre défi majeur arriver dans PPCG, et je m'aime quelques premiers. Ensuite, j'ai mal lu le texte d'introduction et je me suis demandé ce que les cerveaux créatifs avaient trouvé ici.
Il s'avère que la question posée était triviale, mais je me demande si c'est la même chose pour la question que j'ai (mal) lue:
6 peut être représenté par 2 ^ 1 * 3 ^ 1, et 50 peut être représenté par 2 ^ 1 * 5 ^ 2 (où ^ indique l'exonération).
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 les facteurs premiers uniques de n.
Cas de test:
Input Factorisation Unique primes in factorisation representation
24 2^3*3^1 2 (2, 3)
126 2^1*3^2*7^1 3 (2, 3, 7)
8 2^3 2 (2, 3)
64 2^6 1 (2) (6 doesn't get factorised further)
72 2^3*3^2 2 (2, 3)
8640 2^6*3^3*5^1 3 (2, 3, 5)
317011968 2^11*3^5*7^2*13^1 6 (2, 3, 5, 7, 11, 13)
27 3^3 1 (3)
Ce n'est pas une séquence OEIS.
Notation:
C'est le code-golf , le score le plus bas en octets gagne!
64
le résultat attendu est 1 (2). J'aime l'idée de le faire récursivement, mais ce n'est pas ainsi que je lis la question d'origine. Je pensais que 8640
c'était un cas de test approprié, mais aurait dû être plus explicite - merci.
64
? Est-ce2 (2,3)
(comme 6 peut être représenté comme 2 * 3) ou1 (2)
(ignorez le 6)?