Bahasa Kompiler Tanpa Singkatan yang Dapat Diucapkan, disingkat INTERCAL , adalah bahasa pemrograman yang sangat unik. Di antara kualitasnya yang tidak dapat diproduksi adalah operator binernya.
Dua operator biner INTERCAL adalah interleave (juga dikenal sebagai mingle ), dan pilih . Interleave diwakili dengan perubahan (¢), dan pilih diwakili dengan sqiggle (~).
Interleave bekerja dengan mengambil dua angka dalam kisaran 0-65535 dan mengganti bit-bit mereka. Contohnya:
234 ¢ 4321
234 = 0000011101010
4321 = 1000011100001
Result: 01000000001111110010001001
Output: 16841865
Pilih karya dengan mengambil dua angka dalam kisaran 0-65535, mengambil bit di operan pertama yang berada di posisi yang sama dengan 1s di operan kedua, dan mengemas bit tersebut dengan benar.
2345 ~ 7245
2345 = 0100100101001
7245 = 1110001001101
Taken : 010 0 10 1
Result: 0100101
Output: 37
Dalam tantangan ini, Anda akan diberikan ekspresi biner menggunakan operasi interleave atau pilih. Anda harus menghitung hasilnya, menggunakan byte sesedikit mungkin.
Ekspresi akan diberikan sebagai string yang dipisahkan spasi, terdiri dari integer dalam 0-65535, spasi, salah satu ¢
atau ~
, spasi, dan integer dalam 0-65535.
Input dan output dapat melalui sistem standar apa saja (STDIN, fungsi, baris perintah, dll.). Celah standar dilarang.
Contoh:
5 ¢ 6
54
5 ~ 6
2
51234 ¢ 60003
4106492941
51234 ~ 60003
422
Ini adalah kode golf - byte terkecil menang. Semoga berhasil.
EDIT: Karena beberapa bahasa tidak mendukung simbol perubahan (¢) INTERCAL, Anda dapat menggunakan simbol uang besar ($) sebagai gantinya, dengan penalti 5 byte.
$
.
FIVE ONE TWO THREE FOUR
? Dan bukankah hasilnya harus dalam angka Romawi?