किसी एकल फ़ाइल में, एक प्रोग्राम लिखें जिसके लिए किसी इनपुट की आवश्यकता नहीं है और कोई आउटपुट नहीं देता है। जब इसे चलाया जाता है, तो इसे उस फ़ाइल के नाम को उलट देना चाहिए , जिसमें कोड का फेरबदल किए बिना या अन्य साइड इफेक्ट्स पैदा किए बिना, नाम चाहे जो भी हो ।
इसे प्राप्त करने का कोई भी तरीका ठीक है। यह केवल मायने रखता है कि एक बार प्रोग्राम चलाने के बाद एकमात्र स्थायी परिवर्तन यह है कि इसका फ़ाइल नाम उल्टा हो गया है। उदाहरण के लिए कोई नई फ़ाइल निर्देशिका में नहीं होनी चाहिए।
प्रोग्राम को फिर से चलाना नाम वापस लेना चाहिए। वास्तव में, कार्यक्रम को कई बार मनमाने ढंग से चलाने में सक्षम होना चाहिए।
इस चुनौती के प्रयोजनों के लिए:
- आप मान सकते हैं कि फ़ाइल नाम हमेशा 1 और 127 अक्षरों के बीच लंबे अक्षरों (az) के तार होते हैं। (यदि आपकी भाषा में फ़ाइलों को चलाने के लिए एक्सटेंशन की आवश्यकता है, तो एक्सटेंशन से पहले वाले हिस्से को उलट दें, जैसे
mycode.bat
→edocym.bat
)। - आप मान सकते हैं कि कोड फ़ाइल एक निर्देशिका में ही है इसलिए इसका नामकरण संघर्ष (स्वयं को छोड़कर) नहीं होगा।
- आप यह नहीं मान सकते हैं कि फ़ाइल नाम पलिंड्रोम नहीं है, अर्थात उलट होने पर समान। फिलिनाम जो पलिंड्रोम हैं, उन्हें काम करना चाहिए और साथ ही साथ ऐसा नहीं करना चाहिए।
- आप अपनी फ़ाइल की सामग्री या मेटाडेटा पढ़ सकते हैं। कोई हैं Quine यहाँ प्रतिबंध।
- आप मान सकते हैं कि आपका कार्यक्रम एक विशेष, आधुनिक, सामान्य ऑपरेटिंग सिस्टम (जैसे विंडोज / लिनक्स) पर चलाया जाएगा, क्योंकि सभी शेल में एक ही कमांड सेट नहीं है।
एक ठोस उदाहरण के रूप में, मान लें कि आपके पास
mycode
अपनी निर्देशिका में एक फ़ाइल में पायथन कार्यक्रम है । चल रहा हैpython mycode
टर्मिनल में फ़ाइल नाम के विपरीत परिणाम होना चाहिए
edocym
। फ़ाइलedocym
अपनी निर्देशिका में अकेली होनी चाहिए - नाम की कोई फ़ाइलmycode
अब मौजूद नहीं होनी चाहिए। चल रहा हैpython edocym
नाम को वापस
mycode
उसी बिंदु पर ले जाएगा , जिस बिंदु पर प्रक्रिया को अनिश्चित काल तक दोहराया जा सकता है।यदि एक ही पायथन फ़ाइल का नाम बदला गया
racecar
(कोड को बदले बिना) और फिर चलाएंpython racecar
"रेसकार" एक पलिंड्रोम है क्योंकि कुछ भी नहीं बदलना चाहिए। अगर फिल्म का नाम, कहें,
a
या था, तो वही जाता हैxx
।
बाइट्स में सबसे छोटा कोड जीतता है। टाईब्रेकर उच्च मतदान वाला उत्तर है।