नोट: इस चुनौती का पहला भाग मार्टिन एंडर की पिछली चुनौती, विज़ुअलाइज़ बिट वीविंग से आता है ।
गूढ़ प्रोग्रामिंग भाषा बुराई का बाइट मूल्यों पर एक दिलचस्प ऑपरेशन है जिसे वह "बुनाई" कहता है।
यह अनिवार्य रूप से बाइट के आठ बिट्स का क्रमपरिवर्तन है (इससे कोई फर्क नहीं पड़ता कि हम किस गिनती से शुरू करते हैं, क्योंकि पैटर्न सममित है):
- बिट 0 को बिट 2 में ले जाया जाता है
- बिट 1 को बिट 0 में ले जाया जाता है
- बिट 2 को बिट 4 में ले जाया जाता है
- बिट 3 को बिट 1 में ले जाया जाता है
- बिट 4 को बिट 6 में ले जाया जाता है
- बिट 5 को बिट 3 में ले जाया जाता है
- बिट 6 को बिट 7 में ले जाया जाता है
- बिट 7 को बिट 5 में ले जाया जाता है
सुविधा के लिए, यहां क्रमपरिवर्तन के तीन अन्य प्रतिनिधित्व हैं। एक चक्र के रूप में:
(02467531)
मानचित्रण के रूप में:
57361402 -> 76543210 -> 64725031
और मानचित्रण के जोड़े की सूची के रूप में:
[[0,2], [1,0], [2,4], [3,1], [4,6], [5,3], [6,7], [7,5]]
8
बुनाई के बाद , बाइट अनिवार्य रूप से रीसेट हो जाती है।
उदाहरण के लिए, संख्या बुनाई 10011101
(जो कि 157
आधार 10 में है) का उत्पादन होगा 01110110
(जो 118
आधार 10 में है)।
इनपुट
केवल 256
मान्य इनपुट होते हैं , अर्थात् सभी पूर्णांकों के बीच 0
और 255
समावेशी। यह किसी भी आधार में लिया जा सकता है, लेकिन यह सुसंगत होना चाहिए और यदि आपने जो आधार चुना है वह आधार दस नहीं है तो आपको इसे निर्दिष्ट करना होगा।
आप अपने इनपुट को शून्य-पैड नहीं कर सकते हैं।
उत्पादन
आपको किसी भी आधार में बिट बुनाई के परिणाम का उत्पादन करना चाहिए, जो कि आधार और निरंतर होना चाहिए यदि आधार दस नहीं है।
आप अपने आउटपुट को शून्य-पैड कर सकते हैं।
संबंधित: विज़ुअलाइज़िंग बिट वीविंग