Problem
Comment ne pas se souvenir d'un numéro de téléphone à 6 ou 7 chiffres qui apparaît pendant une seconde sur l'écran du téléviseur ? ! À l'aide d'une technique spéciale décrite ci-dessous, vous deviendrez un annuaire téléphonique ambulant !
Évidemment, le nombre 402 est plus facile à retenir que le nombre 110010010, et le nombre 337377 est plus facile à retenir que le nombre 957472. Donc, d'une part, il faut que le nombre à retenir contienne le moins de chiffres que possible, et d'autre part, il est souhaitable que le nombre ait autant de chiffres répétés que possible. Comme critère de complexité de mémorisation, nous prendrons la somme du nombre de chiffres du nombre et du nombre de chiffres différents du nombre. Le numéro mémorisé peut être écrit dans un système de numérotation différent, peut-être alors sera-t-il plus facile à retenir. Par exemple, le nombre 65535 ressemble à FFFF en hexadécimal.
Ecrire un programme pour sélectionner la base du système numérique afin de minimiser le critère de complexité. La base du système numérique doit être choisie dans la plage de 2 à 36, puis les chiffres 0-9 et les lettres anglaises A-Z peuvent être utilisés pour représenter le nombre.
Entrée
La première ligne contient l'entier n
(\(1 <= n <= 100\)) dans la première ligne . Ceci est suivi de n
lignes, chaque ligne contenant un entier de 1
à 999999999
.
Sortie
La réponse doit contenir
n
lignes. Pour chacun des
n
nombres donnés, la ligne contient : la base du système de numération (de 2 à 36), qui minimise le critère de difficulté de mémoire, et le nombre dans le système de numération choisi, séparés par un espace. Si plusieurs bases donnent la même valeur du critère, alors choisissez la plus petite d'entre elles.
Exemple
# |
Entrée |
Sortie |
1 |
2
2
65535
3 2
16FFFF