आइए एक प्राचीन कार्यक्रम को एक ऐसे प्रोग्राम के रूप में परिभाषित करें जिसमें स्वयं कोई त्रुटि नहीं है, लेकिन यदि आप इसे N वर्णों के किसी भी सन्निहित विकल्प को हटाकर संशोधित करेंगे, जहां 1 <= N < program length
।
उदाहरण के लिए, तीन चरित्र पायथन 2 कार्यक्रम
`8`
एक प्राचीन कार्यक्रम है ( धन्यवाद, Sp ) क्योंकि लंबाई 1 के सबस्ट्रिंग को हटाने के परिणामस्वरूप होने वाले सभी कार्यक्रम त्रुटियों का कारण बनते हैं (लेकिन वास्तव में किसी भी प्रकार की त्रुटि होगी):
8`
``
`8
और यह भी सभी कार्यक्रमों की वजह से लंबाई 2 की substrings को हटाने से त्रुटियों का कारण बनता है:
`
`
यदि, उदाहरण के लिए, `8
एक गैर- `8`
गलत कार्यक्रम था, तो वह प्राचीन नहीं होगा क्योंकि प्रतिस्थापन हटाने के सभी परिणामों में त्रुटि होनी चाहिए।
इस चुनौती में आपका काम सबसे छोटा प्राचीन कार्यक्रम संभव लिखना है जो कोई इनपुट नहीं लेता है, लेकिन निम्नलिखित पाँच शब्दों में से किसी एक को आउटपुट करता है:
world
earth
globe
planet
sphere
आप कौन सा शब्द चुनते हैं यह पूरी तरह आप पर निर्भर करता है। एकमात्र शब्द प्लस एक वैकल्पिक अनुगामी न्यूलाइन को stdout (या आपकी भाषा के निकटतम विकल्प) के लिए मुद्रित किया जाना चाहिए। बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है।
टिप्पणियाँ:
- एक स्टैंडअलोन प्रोग्राम की आवश्यकता है, एक फ़ंक्शन की नहीं।
- शब्द संवेदनशील हैं; उत्पादन
World
याEARTH
अनुमति नहीं है। - कंपाइलर चेतावनियाँ त्रुटियों के रूप में नहीं गिनी जाती हैं।
- अनियमित उपप्रोग्राम इनपुट ले सकते हैं या आउटपुट दे सकते हैं या कुछ भी कर सकते हैं जब तक कि वे हमेशा त्रुटि करते हैं।
यहां एक स्टैक स्निपेट दिया गया है, जो यह बताएगा कि संभावित प्रीस्टाइन प्रोग्राम को दिए गए प्रोग्राम को क्या त्रुटि की आवश्यकता है:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>function go() { var s = $('#i').val(), e = []; for (var i = 1; i < s.length; i++) { for (var j = 0; j <= s.length - i; j++) { e.push(s.substring(0, j) + s.substring(j + i)); } } $('#o').val(e.join('\n---\n')); }</script>Program:<br><textarea id='i' rows='16' cols='80'>`8`</textarea><br><button onclick='go()' type='button'>Go</button><br><br>Programs that should error: (--- separated)<br><textarea id='o' rows='16' cols='80'></textarea><br>