Primos P15298


Statement
 

pdf   zip

thehtml

Un número primo es un número entero mayor que 1 cuyos únicos divisores son el 1 y él mismo. En este programa te pedimos que descompongas números en sus divisores primos.

Entrada

En una línea, el número 1≤ n≤ 1000 de casos, seguido de una palabra con el tipo de formato de salida que se espera: NORMAL o PRETTY. A continuación, n líneas con los números 2≤ k ≤ 109 a descomponer.

Hay varias entradas. Tu programa dispone de un segundo de CPU para resolver cada una de ellas.

Salida

Hay dos tipos de formato de salida (mira los ejemplos). En el formato de salida NORMAL, se te pide que escribas una línea por cada caso de prueba, que contenga todos los divisores, repetidos tantas veces como aparezcan, ordenados de menor a mayor. Separa los números por comas (,), y acaba cada línea en un punto (.).

Por contra, en el formato de salida PRETTY se te pide que muestres cada caso en dos líneas. La segunda línea contendrá el número k y sus divisores primos; la primera línea contendrá los exponentes a los que hay que elevar estos divisores para obtener k. Ordénalos de mayor a menor, y usa símbolos x para indicar la multiplicación. Añade espacios de separación alrededor de los símbolos ’=’ y ’x’, y acaba ambas líneas con barras verticales |. (Fíjate en los ejemplos para conocer los detalles).

Puntuación

  • Test1:  ‍25 Puntos ‍

    Resolver varias entradas donde k<50000 de tipo NORMAL.

  • Test2:  ‍25 Puntos ‍

    Resolver varias entradas donde k<50000 de tipo PRETTY.

  • Test3:  ‍25 Puntos ‍

    Resolver varias entradas donde k<109 de tipo NORMAL.

  • Test4:  ‍25 Puntos ‍

    Resolver varias entradas donde k<109 de tipo PRETTY.

Public test cases
  • Input

    3 NORMAL
    17
    49241
    13680
    

    Output

    17.
    41,1201.
    2,2,2,2,3,3,5,19.
    
  • Input

    3 PRETTY
    17
    49241
    13680
    

    Output

           |
    17 = 17|
                     |
    49241 = 1201 x 41|
                      2    4|
    13680 = 19 x 5 x 3  x 2 |
    
  • Input

    6 NORMAL
    319399319
    491241317
    133184680
    982451653
    962748000
    961748945
    

    Output

    643,496733.
    7,7,239,41947.
    2,2,2,5,19,31,5653.
    982451653.
    2,2,2,2,2,3,3,5,5,5,47,569.
    5,131,1187,1237.
    
  • Input

    7 PRETTY
    319399319
    491241317
    133184680
    982451653
    962748000
    961748945
    6553600
    

    Output

                            |
    319399319 = 496733 x 643|
                               2|
    491241317 = 41947 x 239 x 7 |
                                      3|
    133184680 = 5653 x 31 x 19 x 5 x 2 |
                         |
    982451653 = 982451653|
                            3    2    5|
    962748000 = 569 x 47 x 5  x 3  x 2 |
                                     |
    961748945 = 1237 x 1187 x 131 x 5|
               2    18|
    6553600 = 5  x 2  |
    
  • Information
    Author
    Omer Giménez
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++