Ho visto un'altra sfida principale arrivare in PPCG e mi piacciono alcuni numeri primi. Poi ho letto male il testo introduttivo, e mi chiedevo che cosa avesse escogitato il cervello creativo qui.
Si scopre che la domanda posta era banale, ma mi chiedo se lo stesso vale per la domanda che (mis) ho letto:
6 può essere rappresentato da 2 ^ 1 * 3 ^ 1 e 50 può essere rappresentato da 2 ^ 1 * 5 ^ 2 (dove ^ indica esponenzione).
Il tuo compito:
Scrivi un programma o una funzione per determinare quanti numeri primi distinti ci sono in questa rappresentazione di un numero.
Ingresso:
Un numero intero n tale che 1 <n <10 ^ 12, preso con qualsiasi metodo normale.
Produzione:
Il numero di numeri primi distinti richiesti per rappresentare i fattori primi unici di n.
Casi 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)
Questa non è una sequenza OEIS.
punteggio:
Questo è code-golf , il punteggio più basso in byte vince!
64
il risultato atteso è 1 (2). Mi piace l'idea di farlo in modo ricorsivo, ma non è così che ho letto la domanda originale. Pensavo 8640
fosse un caso di prova adatto, ma avrebbe dovuto essere più esplicito, grazie.
64
? È2 (2,3)
(come 6 può essere rappresentato come 2 * 3) o1 (2)
(ignora il 6)?