Latar Belakang
Sebuah basis bijective b penomoran , di mana b adalah bilangan bulat positif, adalah notasi posisional bijective yang menggunakan b simbol dengan nilai-nilai terkait dari 1 ke b .
Tidak seperti mitra non-bijektifnya, tidak ada simbol yang memiliki nilai 0 . Dengan cara ini, setiap bilangan bulat n -negatif memiliki representasi unik dalam basis kata sifat b .
Angka bijective populer termasuk unary, basis bijective 2 (digunakan dalam pengkodean run-length bzip2 ) dan basis bijective 26 (digunakan untuk memberi nomor kolom dalam spreadsheet).
Definisi
Dalam tantangan ini, kita mendefinisikan himpunan M simbol sebagai
123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<=>
dan fungsi i dari M ke bilangan asli sedemikian sehingga i ('1') = 1,…, i ('>') = 64 .
Mengingat basis b antara 1 dan 64 (keduanya inklusif), kita mendefinisikan bahwa setiap bilangan bulat non-negatif n bersesuaian dengan string yang k ... a 0 , yang terdiri dari simbol M , sehingga n = b k i (a k ) + … + B 0 i (a 0 ) .
Korespondensi ini didefinisikan dengan baik dan bijektif. Karena jumlah kosong didefinisikan sebagai 0 , bilangan bulat 0 dapat dikodekan sebagai string kosong.
Tugas
Terima tiga string sebagai input:
Basis input b antara 1 dan 64 , dikodekan sebagai string basis 64 kata sifat .
Sebuah bilangan bulat non-negatif n , dikodekan sebagai dasar bijective b tali.
Basis keluaran B antara 1 dan 64 , dikodekan sebagai basis bijective 64 string.
Dengan ketiga input ini, enkode n sebagai string B berbasis kata sifat bi .
Uji kasus
Semua kasus uji menentukan input dalam urutan 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"
Aturan
Anda dapat membaca tiga string dalam urutan yang mudah, dengan demikian, array string, representasi stringnya, digabungkan atau dipisahkan oleh pembatas karakter tunggal pilihan Anda.
Jika Anda memilih untuk mencetak output ke STDOUT, Anda hanya dapat mencetak simbol dan (opsional) baris baru.
Basis konversi bawaan semua jenis diperbolehkan.
Aturan standar kode-golf berlaku.