एक प्रोग्राम लिखिए जो दिए गए पाठ को अपने स्वयं के पाठ में एन्कोड करता है, इनपुट के रूप में प्रदान किया जाता है, बिना उसके तर्क को बाधित किए। कार्यक्रम को डिकोडर के रूप में भी काम करना चाहिए, मूल संदेश को उसके पाठ से पुनर्स्थापित करना। यह परिवर्तन के बाद अपने एन्कोडिंग / डिकोडिंग कार्यों को बनाए रखना चाहिए।
औपचारिक रूप से बोलते हुए, आवश्यक प्रोग्राम P को दिए गए संदेश टेक्स्ट M: P (M, P) -> P *
P * (P *) -> M के साथ निम्नलिखित परिवर्तन करना चाहिए
यहाँ P * रूपांतरित कार्यक्रम है, जिसे उपरोक्त नियमों को भी पूरा करना होगा, वह है:
P * (M2, P *) -> P **
P ** (P **) -> M2
और इसी तरह ... प्रत्येक बाद में एन्कोडिंग पहले एन्कोडेड पाठ को नहीं मिटाता है, इसलिए पी ** दो संदेशों को ले जाता है - एम और एम 2।
एन्कोडिंग / डिकोडिंग मोड के बीच अंतर करने के लिए कार्यक्रम का सबसे आसान तरीका अतिरिक्त तर्क एम की उपस्थिति से है, लेकिन अंतिम निर्णय आप पर है, बशर्ते यह स्पष्ट रूप से कहा गया हो। प्रोग्राम पढ़ सकता है यह फ़ाइल से स्वयं का पाठ है। यदि इसके लिए चुनी गई भाषा का अर्थ नहीं है, तो स्रोत पाठ को किसी अन्य तरीके से कार्यक्रम में पारित किया जा सकता है।
बेशक, तुच्छ समाधान हैं, इसलिए यह एक लोकप्रियता प्रतियोगिता है। फिर भी, मैं कार्यक्रम के पाठ में टिप्पणियों को मना करने पर प्रतिबंध लगाता हूं।