Etant donné un entier n ≥ 0, sortez-le dans une notation base-3 non positionnelle, en utilisant des chiffres 139ABCDE…
et un séparateur à 1 caractère. Chaque chiffre est une puissance consécutive de 3 et les chiffres sur le côté gauche du séparateur sont annulés, par exemple A931 | B → 81− (1 + 3 + 9 + 27) → 41 . Un chiffre ne peut apparaître qu'une seule fois.
Rigoureusement, que la valeur d'un chiffre soit:
- sa valeur si le chiffre est 1, 3 ou 9
- 27 si le chiffre est
A
- 3 fois la valeur du chiffre juste avant pour
B
..Z
Votre sortie doit satisfaire somme (valeur des chiffres à droite de |
) - somme (valeur des chiffres à gauche de |
) == entrée .
Exemples
input output
----------------
0 |
1 |1
7 3|91
730 |D1
9999 FEDC|GA9
Vous pouvez utiliser un caractère non espace différent comme séparateur. Vous êtes également autorisé à ne pas avoir de séparateur, auquel cas le plus grand chiffre commence la séquence positive. Vous n'avez pas besoin de gérer quelque chose de plus grand que 2 32 −1 ( PMIGDCBA9|RQNLH3
).
Vous pouvez écrire un programme ou une fonction complète, et l'entrée et la sortie peuvent être fournies sur l'un des canaux habituels.
Il s'agit de code-golf , donc plus votre réponse est courte, mieux c'est!
|
et les positifs à droite de celui-ci.