Diberikan string input yang hanya berisi huruf dan angka, tulis sebuah program atau fungsi yang mencetak karakter ASCII yang mungkin dicetak (Hex 20-7E) yang sesuai dengan nilai string dalam basis 8, 10, dan 16 (jika mungkin). Karakter harus ditulis dalam urutan yang meningkat dalam hal basis yang sesuai (basis 8 pertama, dll). Outputnya bisa dalam format array (seperti [& . F]
) atau dipisahkan oleh spasi atau baris baru (baris tambahan adalah opsional) seperti sampel.
Jika tidak ada karakter ASCII yang dapat dicetak yang dapat dibentuk, program tidak boleh memiliki output apa pun.
Sampel
31
==> 1
47
==> ' / G
69
==> E i
7A
==> z
100
==> @ d
156
==> n
189
==> <empty>
potaTO
==> <empty>
5G
==> <empty>
19
==> <empty>
Ini adalah kode-golf , jadi jawabannya dengan byte paling sedikit menang. Aturan standar berlaku.
code-golf
base-conversion
Arcturus
sumber
sumber
map
danfilter
, pemahaman array sangat berguna.'0'+b+...
kapanb
akan selalu menjadi string?0+b+...
MATL , 23
2428byte1 byte off berkat @David
Cobalah online!
sumber
D
itu perlu, bukan? Pekerjaan yang bagus untuk membuat vektor, saya melakukan hampir sama seperti Anda tetapi tidak dapat mempersingkat vektor dari[8,10,16]
.D
perlu dalam hal ini untuk mengosongkan tumpukan. Tapi kau benar, bukan! Terima kasih!' ':'~'
sebagai literal yang telah ditentukan untuk rilis berikutnya!32:126m
adalah ide yang bagus !!Python 3,
8482 bytesumber
Pyth,
23212018 byteOutput sebagai array. Ada literal
\x80
antara garis miring terbalik dan C, yang telah saya ganti dengan a•
.Coba di sini .
sumber
Jolf, 26 byte
Coba di sini! Suite uji
Penjelasan
sumber
Utilitas Bash + GNU + ascii , 36
Tidak yakin apakah penggunaan
ascii
utilitas diizinkan. Input diambil sebagai parameter commandline.ascii
dapat diinstal pada Ubuntu dengansudo apt-get install ascii
.sumber
Javascript ES6, 89 karakter
Uji:
sumber
Lua, 147 Bytes
Saya tidak berpikir saya bisa bermain golf lebih banyak, saya sudah menguji banyak cara untuk melakukannya, dan inilah yang terpendek. Bahkan menggunakan kompiler lama yang berisi fungsi yang sudah tidak digunakan lagi
table.foreach(table,function)
tidak mengurangi beberapa byte.Program ini mengambil string sebagai argumen, dan mencetak rangkaian nilai tabel yang dipisahkan oleh spasi.
Tidak disatukan dan penjelasan
Jika Anda bingung mengapa ada set variabel tetapi tidak digunakan dalam kode golf (variabel
_
dalam for loop), inilah alasannya:Anda memiliki 2 cara untuk beralih pada array di Lua, baik dengan gaya for:
atau dalam gaya foreach:
Saya membutuhkan nilai-nilai yang terkandung dalam tabel
{8,10,16}
karena mereka adalah pangkalan yang berbeda yang harus saya ulangi. Tetapi fungsi-fungsi dengan pengembalian berganda tidak memungkinkan Anda untuk memilih mana yang sebenarnya ingin Anda kembalikan, mereka mengikuti pesanan. Untuk memilikivalue
set variabel , saya perlu menangkap nilaikey
juga: itu yang kita sebut dummy_
.sumber
C (fungsi), 76
Ideone.
sumber
j*=j,j/=6
lebih jelas ditulis sebagaij=j*j/6
j*=j/6
tapi itu tidak berhasil karena kehilangan presisi selama pembagian integerj<20,
operator koma membuang seluruh efek ini.JavaScript ES6,
8988 byteDisimpan 1 byte berkat Neil!
Mengembalikan array. Jika tidak apa-apa, ini berfungsi untuk tambahan 8 byte, menampilkan kemungkinan yang cocok.
Tampilkan cuplikan kode
sumber
47
.Number()
membutuhkan0o
tapieval
senang dengan hanya0
. Maaf bila membingungkan.R, 84 byte
menggunakan
strtoi
untuk mengkonversi ke masing-masing pangkalan dan kemudian dikonversi ke karakter jika dalam kisaran yang sesuai. Dapat menyimpan 4 byte lebih banyak dengan menghapuscat
jika kami mengizinkan pencetakan karakter default (terbungkus dalam""
)sumber