संकलक भाषा जिसके साथ कोई मान्यता नहीं है, संक्षिप्त रूप में , INTERCAL , एक बहुत ही अनोखी प्रोग्रामिंग भाषा है। इसके अप्रतिबंधित गुणों में इसके बाइनरी ऑपरेटर हैं।
INTERCAL के दो द्विआधारी ऑपरेटर हैं Interleave (भी रूप में जाना जाता Mingle ), और चयन । इंटरलीव को एक परिवर्तन (ve) के साथ दर्शाया गया है, और चयन को एक वर्ग (~) के साथ दर्शाया गया है।
इंटरलीव 0-65535 में दो नंबर लेकर और उनके बिट्स को वैकल्पिक करके काम करता है। उदाहरण के लिए:
234 ¢ 4321
234 = 0000011101010
4321 = 1000011100001
Result: 01000000001111110010001001
Output: 16841865
0-65535 की सीमा में दो नंबर लेकर, पहले ऑपरेंड में बिट्स लेते हुए काम का चयन करें, जो दूसरे ऑपरेंड में 1s के समान स्थिति में हैं, और उन बिट्स को राइट पैकिंग करते हैं।
2345 ~ 7245
2345 = 0100100101001
7245 = 1110001001101
Taken : 010 0 10 1
Result: 0100101
Output: 37
इस चुनौती में, आपको इंटरलेव या चयन ऑपरेशन का उपयोग करके एक द्विआधारी अभिव्यक्ति दी जाएगी। आपको सबसे कम संभव बाइट्स का उपयोग करके परिणाम की गणना करनी चाहिए।
अभिव्यक्ति या तो एक अंतरिक्ष अलग स्ट्रिंग के रूप में दिया जाएगा 0-65,535, एक अंतरिक्ष में एक पूर्णांक से मिलकर, ¢या ~, एक जगह है, और 0-65,535 में एक पूर्णांक।
इनपुट और आउटपुट किसी भी मानक प्रणाली (STDIN, फ़ंक्शन, कमांड लाइन, आदि) के माध्यम से हो सकता है। मानक खामियों पर रोक लगाई।
उदाहरण:
5 ¢ 6
54
5 ~ 6
2
51234 ¢ 60003
4106492941
51234 ~ 60003
422
यह कोड गोल्फ है - सबसे कम बाइट्स जीतता है। सौभाग्य।
संपादित करें: चूंकि कुछ भाषाएं INTERCAL के परिवर्तन (,) प्रतीक का समर्थन नहीं करती हैं, आप 5 बाइट के दंड के बजाय बड़े धन ($) प्रतीक का उपयोग कर सकते हैं।
$।
FIVE ONE TWO THREE FOUR? और आउटपुट रोमन अंकों में नहीं होना चाहिए?