Eine Möglichkeit, eine natürliche Zahl darzustellen, besteht darin, Exponenten von Primzahlen zu multiplizieren. Zum Beispiel kann 6 durch 2 ^ 1 * 3 ^ 1 dargestellt werden und 50 kann durch 2 ^ 1 * 5 ^ 2 dargestellt werden (wobei ^ die Exponierung anzeigt). Die Anzahl der Primzahlen in dieser Darstellung kann dazu beitragen, festzustellen, ob die Verwendung dieser Darstellungsmethode im Vergleich zu anderen Methoden kürzer ist. Da ich diese aber nicht von Hand berechnen möchte, brauche ich ein Programm, das das für mich erledigt. Da ich mir das Programm jedoch merken muss, bis ich nach Hause komme, muss es so kurz wie möglich sein.
Deine Aufgabe:
Schreiben Sie ein Programm oder eine Funktion, um zu bestimmen, wie viele verschiedene Primzahlen in dieser Darstellung einer Zahl enthalten sind.
Eingang:
Eine ganze Zahl n mit 1 <n <10 ^ 12, die mit einer normalen Methode ermittelt wird.
Ausgabe:
Die Anzahl der unterschiedlichen Primzahlen, die für die Darstellung der Eingabe erforderlich sind, wie in der Einführung erläutert.
Testfälle:
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)
Dies ist OEIS A001221 .
Wertung:
Dies ist Code-Golf , die niedrigste Punktzahl in Bytes gewinnt!