अन्य क्विन पज़ल्स (अधिक विशेष रूप से, यह एक ) के समान, एक प्रोग्राम लिखें जो स्वयं के लिए स्रोत का निर्माण करता है।
यहां नया मोड़ है: उत्पादित कोड स्रोत के समान नहीं होना चाहिए । बल्कि, यह एक अलग प्रोग्राम को आउटपुट करना चाहिए जो पहले बनाएगा।
ऊपर से जुड़ी इस चुनौती को दो भाषाओं के बीच कूद कर हासिल किया। मैं सोच रहा हूं कि यह सिर्फ एक भाषा में किया जाएगा , लेकिन स्रोत के दो (या अधिक) संस्करण काफी अलग होने चाहिए (नीचे नियम देखें)। इस अड़चन के साथ, एकल वर्ण उत्तर को अस्वीकार कर दिया जाएगा, इस प्रकार एक छोटे से अधिक विचार को अंतिम रूप से प्रस्तुत करने की आवश्यकता होती है।
नियम
- आपका कोड सिर्फ एक भाषा में निर्मित होना चाहिए। (एकाधिक प्रस्तुतियाँ, प्रत्येक भाषा के लिए एक पूरी तरह से स्वीकार्य है।)
- आपके विभिन्न कोड संस्करण वाक्य-रचना के अलग-अलग होने चाहिए। दूसरे शब्दों में, यदि आप अपने कोड के लिए एक अमूर्त वाक्यविन्यास ट्री तैयार करते हैं, तो कम से कम एक नोड अलग होना चाहिए।
- एएसटी की आपूर्ति करना आवश्यक नहीं होगा, लेकिन यदि आप अपने प्रत्येक कार्यक्रम के लिए एक प्रदान करने में असमर्थता महसूस करते हैं, तो यह निर्णय लेने में मदद करेगा ।
- आप जितने चाहें उतने पुनरावृत्तियों का उत्पादन कर सकते हैं, जब तक वे सभी वाक्यात्मक रूप से अलग रहते हैं। (अधिक आपके स्कोर में मदद करेगा, नीचे देखें।)
स्कोरिंग
आपका अंतिम स्कोर आपके सभी कार्यक्रमों की औसत लंबाई होगी, जो कार्यक्रमों की संख्या से विभाजित होगा।
उदाहरण 1:
A (B का स्रोत) = 50 वर्ण
B (A का स्रोत) = 75 वर्ण
अंतिम स्कोर = 31.25
उदाहरण 2:
A (B का स्रोत) = 50 वर्ण
B (C का स्रोत) = 75 वर्ण
C (A का स्रोत) = 100 वर्ण
अंतिम स्कोर = 25