バックグラウンド
全単射ベースBの記数、bは正の整数であるが、の使用なる全単射位置表記でのbの関連値を有するシンボル1に、B。
非全単射とは異なり、値が0のシンボルはありません。このようにして、各非負整数nは全単射基底bで一意の表現を持ちます。
一般的な全単射の数え方には、単項全単射の基数2(bzip2のランレングスエンコーディングで使用)および全単射の基数26(スプレッドシートの列の番号付けに使用)が含まれます。
定義
この課題では、シンボルの集合Mを次のように定義します。
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
機能IからMの自然数ようにI( '1')= 1、...、I( '>')= 64。
基地所与Bとの間の1及び64(両方を含む)、我々は、各非負整数ように定義N列に対応するK ... 0のシンボルからなるM、その結果、N = BのK I(K)+を…+ b 0 i(a 0)。
この対応は明確で全単射です。空の合計は0として定義されるため、整数0は空の文字列としてエンコードできます。
仕事
入力として3つの文字列を受け入れます。
入力ベースBとの間の1と64全単射塩基としてエンコード、64列。
全単射の基底b文字列としてエンコードされた非負の整数n。
出力ベースBとの間の1と64全単射塩基としてエンコード、64列。
これらの3つの入力が与えられたら、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"
ルール
3つの文字列は、文字列の配列、その文字列表現、選択した1文字の区切り文字で連結または区切られた、任意の便利な順序で読み取ることができます。
出力をSTDOUTに印刷することを選択した場合、記号と(オプションで)末尾の改行のみを印刷できます。
すべての種類のベース変換ビルトインが許可されています。
標準のコードゴルフ規則が適用されます。