背景
甲双射基地b记数,其中b是正整数,是双射位置符号,使得使用的b的符号与相关联的值1到b。
与它的非双义对应物不同,没有符号的值是0。这样,每个非负整数n在双射基数b中都有唯一的表示形式。
流行的双射数包括一进制双射基数2(用于bzip2的游程长度编码)和双射基数26(用于电子表格中的数字列)。
定义
在这个挑战中,我们将符号集M定义为
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
和一个从M到自然数的函数i,使得i('1')= 1,…,i('>')= 64。
给定一个介于1和64之间(包括两者之间)的b,我们定义每个非负整数n对应于字符串a k …a 0,由M的符号组成,因此n = b k i(a k)+ …+ b 0 i(a 0)。
这种对应关系是明确定义的并且是双射的。由于将空总和定义为0,因此整数0可以编码为空字符串。
任务
接受三个字符串作为输入:
在1到64之间的输入基b,被编码为双射基64字符串。
非负整数n,被编码为双射基b字符串。
在1到64之间的输出基数B,被编码为双射基数64字符串。
给定这三个输入,将n编码为双射基B字符串。
测试用例
所有测试用例都按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"
规则
您可以按任何方便的顺序读取这三个字符串,例如,一个字符串数组,其字符串表示形式,由您选择的单字符定界符连接或分隔。
如果选择将输出打印到STDOUT,则只能打印符号和(可选)尾随换行符。
允许各种类型的基本转换内置。
适用标准代码高尔夫球规则。