यह 128-भाषा क्वीन ओबोरबोस (एक प्रोग्राम जो किसी अन्य भाषा में एक प्रोग्राम आउटपुट करता है, जो एक प्रोग्राम को दूसरी भाषा में आउटपुट करता है, (125 भाषाएँ बाद में), जो मूल प्रोग्राम को आउटपुट करता है) बहुत प्रभावशाली है। लेकिन दुर्भाग्य से, इसमें पुनरावृत्तियों की एक स्थिर संख्या है।
एक प्रोग्राम लिखें जो एक प्रोग्राम को आउटपुट करता है (जरूरी नहीं कि दूसरी भाषा में हो, लेकिन यह हो सकता है), जो एक प्रोग्राम को आउटपुट करता है, जो एक प्रोग्राम को आउटपुट करता है, आदि, जो n पुनरावृत्तियों के बाद, पहली बार मूल प्रोग्राम को आउटपुट करता है (अर्थात कोई मध्यवर्ती नहीं) कार्यक्रम मूल के समान होना चाहिए, क्योंकि अन्यथा एक क्वीन जो इसके इनपुट को अनदेखा करता है) काम करेगा), जहां n एक गैर-नकारात्मक पूर्णांक है जो इनपुट के रूप में प्रदान किया गया है। मूल स्रोत कोड में इनपुट सिर्फ एक संख्या नहीं हो सकती है (उदाहरण x = <the value of n>के लिए आपके कार्यक्रम की शुरुआत में), यह निम्नलिखित में से एक होना चाहिए:
- कमांड-लाइन तर्क के रूप में पारित किया गया
- मानक इनपुट से पढ़ें
- एक फ़ंक्शन के तर्क के रूप में पारित किया गया, जो नए प्रोग्राम को लौटाता / आउटपुट करता है।
ऑरोबोरोस में मध्यवर्ती चरणों के लिए, आपका कार्यक्रम या तो पूरी तरह से कार्य करने वाला कार्यक्रम हो सकता है, या बिना किसी तर्क के एक कार्य हो सकता है, जिसे जब बुलाया जाता है, तो वह अगले एक को वापस करेगा / आउटपुट करेगा।
आप स्वयं स्रोत फ़ाइल से नहीं पढ़ सकते हैं, या किसी भी क्वीन जैसे बिलिन का उपयोग नहीं कर सकते हैं (मुझे नहीं लगता कि ऐसा कोई भी है जो ऐसा करेगा, लेकिन ऐसा हो सकता है)
स्पष्ट होने के लिए, यदि n = 0, कार्यक्रम को अपने स्वयं के स्रोत कोड का उत्पादन करना चाहिए।
यदि n = 1, प्रोग्राम को एक अलग प्रोग्राम आउटपुट करना चाहिए, जो मूल स्रोत कोड को आउटपुट करता है।
और इसी तरह...
सबसे शानदार बाइट्स जीतता है!
संपादित करें:
मुझे लिखा जाना चाहिए था "ऑरोबोरोस में मध्यवर्ती चरणों के लिए, आपका कार्यक्रम या तो पूरी तरह से काम कर सकता है , जिसमें कोई इनपुट नहीं है , या कोई तर्क नहीं है।" यदि आपका प्रोग्राम श्रृंखला में अगले एक को आउटपुट करता है, तो इनपुट की प्रतीक्षा करता है, यह ठीक है, लेकिन आपके प्रोग्राम को एन के मूल मूल्य की आवश्यकता नहीं होनी चाहिए।
getInput()कोई इनपुट प्रदान किए बिना कुछ का उपयोग किया जाता है। या हम यह कह सकते हैं कि इनपुट को कुछ यादृच्छिक है जो बाद के पुनरावृत्तियों के लिए अप्रयुक्त है, के लिए त्रुटियों को रोकने के लिए getInput()? Aka वर्तमान पायथन जवाब मान्य है?
n, एक प्रोग्राम को आउटपुट करता है जो nपुनरावृत्तियों के एक ofroboros quine का "प्रारंभिक कार्यक्रम" है , और यह कि हमारा उत्तर nपुनरावृत्तियों में से एक के रूप में नहीं गिना जाना चाहिए । क्या ये सही है?