fundo
A numeração bijetiva da base b , onde b é um número inteiro positivo, é uma notação posicional bijetiva que utiliza símbolos b com valores associados de 1 a b .
Diferentemente de sua contraparte não-bijetiva, nenhum símbolo tem o valor 0 . Dessa forma, cada número inteiro não negativo n tem uma representação exclusiva na base bijetiva b .
As numerações bijetivas populares incluem a base bijetiva unária 2 (usada na codificação de comprimento de execução do bzip2 ) e a base bijetiva 26 (usada para numerar colunas em planilhas).
Definição
Neste desafio, definimos o conjunto M de símbolos como
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
e uma função i de M para o número natural tal que i ('1') = 1,…, i ('>') = 64 .
Dada uma base b entre 1 e 64 (ambos inclusive), definimos que cada número inteiro não negativo n corresponde à sequência a k … a 0 , composta por símbolos de M , de modo que n = b k i (a k ) + … + B 0 i (a 0 ) .
Essa correspondência é bem definida e bijetiva. Como uma soma vazia é definida como 0 , o número inteiro 0 pode ser codificado como uma sequência vazia.
Tarefa
Aceite três strings como entrada:
Uma base de entrada b entre 1 e 64 , codificada como uma sequência 64 de base bijetiva .
Um número inteiro não negativo n , codificado como uma sequência bijetiva de base b .
Uma base de saída B entre 1 e 64 , codificada como uma sequência 64 de base bijetiva .
Dadas essas três entradas, codifique n como uma seqüência B de base bijetiva .
Casos de teste
Todos os casos de teste especificar a entrada na ordem 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"
Regras
Você pode ler as três strings em qualquer ordem conveniente, como tal, uma matriz de strings, uma representação de strings, concatenada ou separada por delimitadores de caractere único de sua escolha.
Se você optar por imprimir a saída em STDOUT, poderá imprimir apenas os símbolos e (opcionalmente) uma nova linha à direita.
Todos os tipos de conversão de base são permitidos.
Aplicam-se as regras de código-golfe padrão .