चक्रीय पॉलीग्लॉट चैलेंज
यह पुलिस धागा है। आप यहां लुटेरों के धागे पा सकते हैं ।
चक्रीय पॉलीग्लॉट
एक एन-तत्व चक्रीय पॉलीग्लॉट एक पूर्ण कार्यक्रम है जिसे एन विभिन्न भाषाओं में चलाया जा सकता है। प्रत्येक भाषा में, जब प्रोग्राम बिना किसी इनपुट के साथ चलाया जाता है (संभवतः इस अपवाद के अधीन ), तो उसे STDOUT में भाषा का नाम प्रिंट करना चाहिए। विशेष रूप से, यदि प्रोग्राम Kth भाषा में चलाया जाता है, तो उसे (K + 1) वें भाषा का नाम प्रिंट करना चाहिए। यदि प्रोग्राम Nth लैंग्वेज (यानी N- एलिमेंट साइकल में अंतिम भाषा) में चलाया जाता है, तो उसे पहली भाषा का नाम प्रिंट करना चाहिए।
एक उदाहरण उपयोगी हो सकता है।
a = [[ v = 7, puts('Befunge') ]]
__END__
= print("Ruby")
-->*+:292*++,,@
--3 9
--7 *
--^,:-5<
लुआ के साथ इस कार्यक्रम को चलाने के लिए स्ट्रिंग "रूबी" प्रिंट करता है। रूबी में इस कार्यक्रम को चलाने से स्ट्रिंग "बीफ्यूज" प्रिंट होता है। Befunge में इस प्रोग्राम को चलाने से "Lua" स्ट्रिंग पूरी होती है, जो चक्र को पूरा करती है। इस कार्यक्रम में एक 3-चक्र शामिल है जिसमें लुआ, रूबी, और बेफुंग शामिल हैं।
एक ही भाषा एक चक्र में दो बार दिखाई नहीं दे सकती है, और एक ही भाषा के विभिन्न संस्करण (जैसे कि पायथन 2 और पायथन 3) एक ही चक्र में एक दूसरे के रूप में प्रकट नहीं हो सकते हैं।
पुलिस
आपकी चुनौती एक एन-चक्रीय पॉलीग्लॉट लिखना है, जहां एन कम से कम 2 है। फिर, आपको एम-चक्रीय पॉलीग्लॉट का उत्पादन करने के लिए कार्यक्रम में कुछ पात्रों को जोड़ना, बदलना और हटाना होगा, जहां एम एन से सख्ती से अधिक है। । तब आपको छोटे, एन-साइक्लिक पॉलीग्लॉट (और इसमें चलने वाली भाषाएं) पोस्ट करना चाहिए, साथ ही लंबे पॉलीग्लॉट का उत्पादन करने के लिए आपके द्वारा परिवर्तित किए गए वर्णों की संख्या। आपका स्कोर N है, आपके छोटे चक्र में भाषाओं की संख्या।
लुटेरे आपके लंबे चक्र को पहचानने की कोशिश करेंगे। यदि, सात दिनों के बाद, किसी ने भी आपके समाधान को सफलतापूर्वक नहीं किया है, तो आपको अपने उत्तर को यह घोषित करते हुए संपादित करना चाहिए कि यह सुरक्षित है। आपको इस समय अपने लंबे एम-चक्रीय पॉलीग्लॉट को भी पोस्ट करना चाहिए।
लुटेरों
एक पुलिस वाले के एन-साइक्लिक पॉलीग्लॉट और एक बड़े पॉलीग्लॉट चक्र का निर्माण करने के लिए उनके द्वारा जोड़े गए पात्रों की संख्या को देखते हुए, आपका लक्ष्य उस बड़े चक्र का उत्पादन करना है। यदि आप पुलिस वाले के या कम वर्णों के रूप में कई वर्णों को जोड़कर, हटाकर, या बदलकर एक लंबा चक्र बना सकते हैं , तो आपने पुलिस के पॉलीग्लॉट को क्रैक किया है। आपका स्कोर आपके द्वारा बनाए गए नए चक्र की लंबाई है। आपके नए पॉलीग्लॉट को पुलिस के गुप्त पॉलीग्लॉट के समान या समान होने की आवश्यकता नहीं है; यह केवल उनके मौजूदा वाले से बड़ा होना चाहिए।
आपके समाधान में भी दरार पड़ सकती है। यदि कोई दूसरा लुटेरा साथ आता है और एक चक्र का निर्माण करता है तो वह आपकी तुलना में अधिक लंबा होता है, उसी पुलिस वाले के पॉलीग्लॉट से शुरू होकर, उन्होंने आपकी बातों को चुरा लिया है।
मान्य प्रोग्रामिंग भाषाएँ
चूंकि इस चुनौती में अप्रत्यक्ष रूप से अन्य प्रतिभागियों द्वारा उपयोग की जाने वाली प्रोग्रामिंग भाषाओं का अनुमान लगाना शामिल है, इस चुनौती के प्रयोजनों के लिए एक प्रोग्रामिंग भाषा की परिभाषा सामान्य परिभाषा की तुलना में थोड़ी अधिक सख्त होगी। इस चुनौती में उपयोग की जाने वाली एक प्रोग्रामिंग भाषा को निम्नलिखित सभी स्थितियों को पूरा करना चाहिए।
- भाषा को प्रोग्रामिंग भाषा के लिए आवश्यक सामान्य पीपीसीजी को संतुष्ट करना चाहिए ।
- जिस समय यह चुनौती पोस्ट की गई थी, उस समय भाषा में एक विकिपीडिया लेख , एक Esolangs लेख या एक रोसेटा कोड लेख होना चाहिए ।
- भाषा में एक स्वतंत्र रूप से उपलब्ध दुभाषिया या संकलक होना चाहिए।
अंतिम नोट्स
- आपके द्वारा लिखा गया कोड हर भाषा में एक स्टैंडअलोन प्रोग्राम होना चाहिए, जिसमें इसे चलाने का इरादा है। फ़ंक्शंस या कोड स्निपेट्स की अनुमति नहीं है।
- एसटीडीआईएन के माध्यम से आपके कार्यक्रम को कोई इनपुट नहीं दिया जाएगा। इसी तरह, आपका कार्यक्रम STDERR को कुछ भी नहीं छापना चाहिए।
- एक पुलिस का स्कोर उनके द्वारा पोस्ट किए गए पॉलीग्लॉट के चक्र में भाषाओं की संख्या है। पुलिस को उन भाषाओं को पोस्ट करना चाहिए जो पोस्ट किए गए पॉलीग्लॉट में सही ढंग से चलती हैं, साथ ही उन पात्रों की संख्या भी है जो एक लंबे पॉलीग्लॉट का उत्पादन करने के लिए जोड़े गए हैं। वे भाषाओं को लंबे समय तक पोस्ट करने के लिए ज़िम्मेदार नहीं हैं , जब तक उनका जवाब सुरक्षित नहीं होता है, तब तक छिपे हुए पॉलीग्लॉट चलते हैं।
- एक डाकू का स्कोर संशोधित पॉलीग्लॉट में चलने वाली भाषाओं की संख्या है। पुलिस के साथ, डाकू को उन भाषाओं की सूची पोस्ट करनी चाहिए, जिनमें पॉलीगॉट सही तरीके से चलता है।
- परिवर्तित वर्णों की संख्या की गणना लेवेंसहेटिन दूरी में की जानी चाहिए।