Màxim nombre en base tres P51176


Statement
 

pdf   zip

thehtml

Considereu la representació en base tres dels nombres naturals. Per exemple, 59 es representa com 2012, perquè 2 · 33 + 0 · 32 + 1 · 31 + 2 · 30 = 59. Fixeu-vos que tots els dígits estan entre 0 i 2, i que no tenim zeros a l’esquerra.

Feu un programa que escrigui el resultat de reordenar els dígits en base tres de cada nombre donat, de manera que el resultat sigui el màxim possible, amb una condició addicional: no podem tenir dos dígits consecutius iguals.

Entrada

L’entrada consisteix en diverses n, totes entre 1 i 1018.

Sortida

Per a cada n donada, escriviu-ne la reordenació dels dígits en base tres que produeixi el màxim resultat possible, i que no tingui dígits adjacents iguals. Si no hi ha cap reordenació possible, cal indicar-ho.

Public test cases
  • Input

    59
    1
    4
    12
    9
    1000000000
    999999999999998378
    1000000000000000000
    

    Output

    59 : 2120
    1 : 1
    4 : no
    12 : 101
    9 : no
    1000000000 : no
    999999999999998378 : no
    1000000000000000000 : 21212121212120202020202020202010101010
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Translator
    Salvador Roura
    Original language
    English
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++