Firmas Primas


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 195M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Dado un número n, encuentre las firmas primas ordenadas y, utilizando este, encuentre el número de divisor del n dado.

Cualquier entero positivo, \("n"\), se puede expresar en forma de sus factores primos. Si 'n' tiene p1, p2, ... etc. como sus factores primos, entonces n puede expresarse como:

n = {p_1} ^ {e1} * {p_2} ^ {e2} * ...

Ejemplo

20 = 2^2 * 5^1, firma principal ordenada de 20 = {1, 2}

37 = 37^1, firma principal ordenada de 37 = {1}

49 = 7^2, firma principal ordenada de 49 = {2}

Firma Prima ordenada de 100 = {2, 2}, como \(100 = 2^2 × 5^2\)

Ahora agregando uno a cada elemento da {3, 3} y el producto es 3 × 3 = 9, es decir, el número total de divisores de 100 es nueve.

Son 1, 2, 4, 5, 10, 20, 25, 50, 100.

Ahora, ordene los exponentes obtenidos de los factores primos de \("n"\) en orden no decreciente. La disposición así obtenida se denomina firma principal ordenada del entero positivo \("n"\).

Se puede determinar que la firma principal de 1 es {1}. Además, todos los números primos tienen la misma firma, es decir, {1} y la firma principal de un número, que es la potencia k-th de un número primo (por ejemplo, 25 que es la potencia 2-nd de 5), siempre es {k}.

Entrada

En la primera y única línea de la entrada contiene un entero N psoitivo N (1 \le N \le 1000000).

Salida

La salida tendrá dos líneas. En la primera debe aparecer la firma prima del número N dado, o sea, la secuenxcia de los expoentes de los factores primos. En la segunda línea la cantidad de divisores que posse el número dado.

Ejemplo #1 de Entrada

100

Ejemplo #1 de Salida

2 2
9

Ejemplo #2 de Entrada

13

Ejemplo #2 de Salida

1
2

Ejemplo #3 de Entrada

120

Ejemplo #3 de Salida

1 1 3
16

Comments

There are no comments at the moment.