Dato un numero intero n ≥ 0, emettilo in una notazione base-3 non posizionale, usando cifre 139ABCDE…
e un separatore di 1 carattere. Ogni cifra ha una potenza consecutiva di 3 e le cifre sul lato sinistro del separatore vengono annullate, ad es. A931 | B → 81− (1 + 3 + 9 + 27) → 41 . Una cifra può apparire una sola volta.
Rigorosamente, lascia che il valore di una cifra sia:
- il suo valore se la cifra è 1, 3 o 9
- 27 se la cifra è
A
- 3 volte il valore della cifra appena prima di essa per
B
..Z
L'output deve soddisfare la somma (valore delle cifre a destra di |
) - somma (valore delle cifre a sinistra di |
) == input .
Esempi
input output
----------------
0 |
1 |1
7 3|91
730 |D1
9999 FEDC|GA9
È possibile utilizzare un diverso carattere non spaziale come separatore. Inoltre, non è possibile avere un separatore, nel qual caso la cifra più grande avvia la sequenza positiva. Non è necessario gestire nulla di più grande di 2 32 −1 ( PMIGDCBA9|RQNLH3
).
È possibile scrivere un programma o una funzione completi e input e output possono essere forniti su uno dei normali canali.
Questo è code-golf , quindi più breve è la tua risposta, meglio è!
|
e i positivi a destra di esso.