sfondo
Una numerazione b di base biiettiva , dove b è un numero intero positivo, è una notazione posizionale biiettiva che utilizza simboli b con valori associati da 1 a b .
A differenza della sua controparte non biiettiva, nessun simbolo ha un valore di 0 . In questo modo, ogni numero intero non negativo n ha una rappresentazione univoca nella base biiettiva b .
Le numerazioni biiettive popolari includono unaria, base biiettiva 2 (utilizzata nella codifica della lunghezza di esecuzione di bzip2 ) e base biiettiva 26 (utilizzata per numerare le colonne nei fogli di calcolo).
Definizione
In questa sfida, definiamo l'insieme M di simboli come
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
e una funzione i da M al numero naturale tale che i ('1') = 1,…, i ('>') = 64 .
Data una base b tra 1 e 64 (entrambi inclusi), definiamo che ogni intero non negativo n corrisponde alla stringa a k … a 0 , costituita da simboli di M , tale che n = b k i (a k ) + … + B 0 i (a 0 ) .
Questa corrispondenza è ben definita e biiettiva. Poiché una somma vuota è definita come 0 , l'intero 0 può essere codificato come una stringa vuota.
Compito
Accetta tre stringhe come input:
Una base di input b tra 1 e 64 , codificata come stringa 64 di base biiettiva .
Un numero intero non negativo n , codificato come stringa b di base biettiva .
Una base di output B compresa tra 1 e 64 , codificata come stringa 64 di base biiettiva .
Dati questi tre input, codificare n come stringa B di base biiettiva .
Casi test
Tutti i casi di test specificano l'ingresso nell'ordine 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"
Regole
Puoi leggere le tre stringhe in qualsiasi ordine conveniente, in quanto tale, una matrice di stringhe, una rappresentazione delle stringhe della stessa, concatenata o separata da delimitatori a carattere singolo di tua scelta.
Se si sceglie di stampare l'output su STDOUT, è possibile stampare solo i simboli e (facoltativamente) una nuova riga finale.
Sono consentiti incorporamenti di conversione di base di tutti i tipi.
Si applicano le regole standard del code-golf .