Codificación con cifra 3 girada X19883


Statement
 

pdf   zip

La codificación con cifra 3 girada de un entero no negativo se basa en codificar el entero en base 3 e invertir la codificación. Para hacerlo todavía más críptico, transformaremos después cada uno de los dígitos del número resultante a carácter según la siguiente relación: 0 \rightarrow ’-’, 1 \rightarrow ’+’, 2 \rightarrow ’*’.

En el caso de un entero negativo n<0n<0, su codificación empieza con el caracter ’:’ seguido de la codificación con cifra 3 girada de n-n.

Ejemplos

  • 2077 se expresa en base 3 como 2211221 (invertido 1221122) y se codificaría +**++**

  • 2077 se codificaría :+**++**

  • 0 se expresa en base 3 como 0 (invertido 0) y se codifica como -

  • 31 se expresa en base 3 como 1011 (invertido 1101) y se codifica como ++-+

  • 257 se expresa en base 3 como 100112 (invertido 211001) y se codifica como ++–+

  • 5766 es en base 3 el 21220120 (invertido 02102212) y se codificaría -*+-**+*

Se pide un programa que codifique con cifra 3 girada números enteros según el procedimiento descrito en este enunciado.

Entrada

La entrada consiste en una secuencia de enteros.

Salida

La salida es la codificación con cifra 3 girada de cada número.

Seguid el formato especificado en los ejemplos.

Public test cases
  • Input

    2077 
    -2077
    0
    31 
    257 
    5766
    

    Output

    +**++**
    :+**++**
    -
    ++-+
    *++--+
    -*+-**+*
    
  • Information
    Author
    Maria J. Blesa i Maria Serna
    Language
    Spanish
    Translator
    Maria Serna
    Original language
    Catalan
    Other languages
    Catalan English
    Official solutions
    Unknown.
    User solutions
    C++ Java Python