ภาษาคอมไพเลอร์ที่ไม่มีตัวย่อที่ออกเสียงได้อย่างย่อINTERCALเป็นภาษาการเขียนโปรแกรมที่ไม่เหมือนใคร ท่ามกลางคุณสมบัติที่ไม่สามารถพิสูจน์ได้ของมันคือตัวดำเนินการไบนารี
INTERCAL ของสองผู้ประกอบการไบนารีแทรก (ยังเป็นที่รู้จักกันในชื่อMingle ) และเลือก Interleave แสดงด้วยการเปลี่ยนแปลง (¢) และ select ถูกแสดงด้วย sqiggle (~)
Interleave ทำงานโดยรับตัวเลขสองตัวในช่วง 0-65535 และสลับบิตของพวกเขา ตัวอย่างเช่น
234 ¢ 4321
234 = 0000011101010
4321 = 1000011100001
Result: 01000000001111110010001001
Output: 16841865
เลือกงานโดยใช้ตัวเลขสองตัวในช่วง 0-65535 รับบิตในตัวถูกดำเนินการแรกซึ่งอยู่ในตำแหน่งเดียวกับ 1 วินาทีในตัวถูกดำเนินการตัวที่สองและบรรจุบิตเหล่านั้นอย่างถูกต้อง
2345 ~ 7245
2345 = 0100100101001
7245 = 1110001001101
Taken : 010 0 10 1
Result: 0100101
Output: 37
ในการท้าทายนี้คุณจะได้รับนิพจน์ไบนารีโดยใช้การดำเนินการแบบแทรกหรือเลือก คุณต้องคำนวณผลลัพธ์โดยใช้จำนวนไบต์ที่น้อยที่สุดที่เป็นไปได้
นิพจน์จะถูกกำหนดเป็นสตริงที่คั่นด้วยช่องว่างซึ่งประกอบด้วยจำนวนเต็มใน 0-65535 ช่องว่างช่องว่าง¢
หรือ~
ช่องว่างและจำนวนเต็มใน 0-65535
อินพุตและเอาต์พุตอาจผ่านระบบมาตรฐานใด ๆ (STDIN, ฟังก์ชั่น, บรรทัดคำสั่ง ฯลฯ ) ช่องโหว่มาตรฐานถูกแบน
ตัวอย่าง:
5 ¢ 6
54
5 ~ 6
2
51234 ¢ 60003
4106492941
51234 ~ 60003
422
นี่คือรหัสกอล์ฟ - จำนวนน้อยที่สุดที่ชนะ โชคดี.
แก้ไข: เนื่องจากบางภาษาไม่รองรับสัญลักษณ์การเปลี่ยนแปลง (C) ของ INTERCAL คุณอาจใช้สัญลักษณ์เงิน ($) แทนได้ด้วยการลงโทษ 5 ไบต์
$
ใช้
FIVE ONE TWO THREE FOUR
หรอกเหรอ? และผลลัพธ์ไม่ควรอยู่ในเลขโรมันใช่หรือไม่