Contexte
Une numération b de base bijective , où b est un entier positif, est une notation positionnelle bijective qui utilise des symboles b avec des valeurs associées de 1 à b .
Contrairement à son homologue non bijectif, aucun symbole n'a une valeur de 0 . De cette façon, chaque entier non négatif n a une représentation unique dans la base bijective b .
Les numérotations bijectives populaires incluent la base unaire, bijective 2 (utilisée dans le codage de longueur de bzip2 ) et la base bijective 26 (utilisée pour numéroter les colonnes dans les feuilles de calcul).
Définition
Dans ce défi, nous définissons l'ensemble M de symboles comme
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
et une fonction i de M au nombre naturel tel que i ('1') = 1,…, i ('>') = 64 .
Etant donné une base b comprise entre 1 et 64 (tous deux inclus), nous définissons que chaque entier non négatif n correspond à la chaîne a k … a 0 , constituée de symboles de M , tels que n = b k i (a k ) + … + B 0 i (a 0 ) .
Cette correspondance est bien définie et bijective. Puisqu'une somme vide est définie comme 0 , l'entier 0 peut être codé comme une chaîne vide.
Tâche
Acceptez trois chaînes en entrée:
Une base d'entrée b comprise entre 1 et 64 , codée comme une chaîne de base bijective 64 .
Un entier non négatif n , codé comme une chaîne b de base bijective .
Une base de sortie B entre 1 et 64 , codée comme une chaîne de base bijective 64 .
Compte tenu de ces trois entrées, codez n comme une chaîne B de base bijective .
Cas de test
Tous les tests indiquent l'entrée dans l'ordre b , n , B .
Input: "4" "" "8"
Output: ""
Input: "A" "16" "2"
Output: "1112"
Input: "2" "122" "A"
Output: "A"
Input: "3" "31" "1"
Output: "1111111111"
Input: ">" "Fe" "a"
Output: "RS"
Règles
Vous pouvez lire les trois chaînes dans n'importe quel ordre approprié, comme tel, un tableau de chaînes, une représentation de chaîne de celles-ci, concaténées ou séparées par des délimiteurs à caractère unique de votre choix.
Si vous choisissez d'imprimer la sortie sur STDOUT, vous ne pouvez imprimer que les symboles et (éventuellement) une nouvelle ligne de fin.
Les intégrations de conversion de base de toutes sortes sont autorisées.
Les règles de code-golf standard s'appliquent.