यह मेरा करने के लिए एक अनुवर्ती सवाल यह है कि Puzzling.SE प्रश्न : मैंने पूछा कि एक समारोह हो, तो च बूलियन तार करने के लिए बूलियन तार मानचित्रण, ताकि च (च (ख)) = रिवर्स (ख) सभी इनपुट स्ट्रिंग्स के लिए ख । ( रिवर्स द्वारा , मेरा मतलब है कि फ़ंक्शन जो बिट्स के क्रम को उलट देता है।)
उपर्युक्त लिंक में एक सकारात्मक उत्तर है, सबूत के साथ, महान f '' , लेकिन आप अपने लिए प्रश्न देखने से पहले विचार करना चाहते हैं।
इस तरह के एक समारोह च को संभव के रूप में कुछ बाइट्स में लागू करें।
आप या तो STDIN से इनपुट पढ़ सकते हैं, या फ़ंक्शन तर्क ले सकते हैं; और या तो परिणाम स्ट्रिंग को STDOUT में लिखें, या इसे वापस करें।
किसी भी तरह से, आप दो अलग बाइट्स या अपनी पसंद के पात्रों की वास्तविक तार (कहते हैं कि साथ काम कर सकते
0हैं और1, या\x00और\x01), या सरणियों के साथ / की सूची truthy और falsy मूल्यों । दो मान उठाओ और उन लोगों के साथ रहो, यद्यपि।च के एक भी आवेदन का परिणाम बाइनरी स्ट्रिंग ही होना चाहिए: जैसे मूर्खतापूर्ण जवाब नहीं
b -> if b starts with 'x' then reverse(b[1:]) else 'x' + b...आपका कार्य कुल होना चाहिए ; विशेष रूप से, इनपुट खाली स्ट्रिंग हो सकता है, या एक बिट लंबा हो सकता है, आदि स्ट्रिंग की लंबाई के लिए कोई ऊपरी बाध्य नहीं है।
यह भी शुद्ध होना चाहिए : फ़ंक्शन कॉल के बीच कोई वैश्विक स्थिति न रखें; इनपुट स्ट्रिंग को आउटपुट स्ट्रिंग को पूरी तरह से निर्धारित करना चाहिए।