प्रिस्टाइन पॉलीग्लॉट्स

Sep 30 2020

जैसा कि शीर्षक कहता है, आप अधिक से अधिक भाषाओं में एक प्राचीन कार्यक्रम तैयार कर सकते हैं। यहाँ से लिया गया एक प्राचीन कार्यक्रम है:

चलो एक परिभाषित प्राचीन कार्यक्रम एक प्रोग्राम है जो किसी भी त्रुटि में ही नहीं है, लेकिन यदि आप इसके किसी भी सन्निहित-स्ट्रिंग को हटाने के द्वारा संशोधित त्रुटि के रूप में \$N\$अक्षर, जहां \$1 \le N < \text{program length}\$।

उदाहरण के लिए, तीन चरित्र पायथन 2 कार्यक्रम

`8`

एक प्राचीन कार्यक्रम है ( धन्यवाद, Sp ) क्योंकि लंबाई 1 के सबस्ट्रिंग को हटाने के परिणामस्वरूप होने वाले सभी कार्यक्रम त्रुटियों का कारण बनते हैं (लेकिन वास्तव में किसी भी प्रकार की त्रुटि होगी):

8`
``
`8

और यह भी सभी कार्यक्रमों की वजह से लंबाई 2 की substrings को हटाने के कारण त्रुटियों:

`
`

यदि, उदाहरण के लिए, `8एक गैर- `8`गलत कार्यक्रम था, तो वह प्राचीन नहीं होगा क्योंकि प्रतिस्थापन हटाने के सभी परिणामों में त्रुटि होनी चाहिए।

आपको लिखना है, जितनी संभव हो उतनी भाषाओं में, एक प्राचीन कार्यक्रम।

  • आपके प्रोग्राम को अन-खाली होने पर एक गैर-रिक्त आउटपुट का उत्पादन करना चाहिए।

    • यह आउटपुट आपकी पसंद का कुछ भी हो सकता है, अलग-अलग इनपुट्स, या कुछ और के आधार पर अलग-अलग हो सकता है, इसलिए जब तक, बिना चलाए और बिना किसी खाली इनपुट के, यह एक नॉन-खाली आउटपुट (नोट 0, या आपकी भाषा का शून्य मान) पैदा करता है गैर-खाली है)।

    • आउटपुट STDERR (या आपकी भाषा के समतुल्य) के लिए नहीं हो सकता है, क्योंकि यह नीचे दिए गए "अनियमित कार्यक्रम" की परिभाषा के अंतर्गत आएगा।

    • आउटपुट को भाषाओं के अनुरूप नहीं होना चाहिए, या जब एक ही भाषा में दो बार निष्पादित किया जाता है।

  • आपका कोड न्यूनतम दो अलग-अलग भाषाओं में काम करना चाहिए और कम से कम 2 बाइट्स लंबी होनी चाहिए

  • किसी भाषा के विभिन्न संस्करण अलग-अलग भाषाओं के रूप में नहीं गिने जाते हैं। इसलिए, पायथन 2 और पायथन 3 को एक ही भाषा माना जाता है।

  • आपका प्रोग्राम उपयोग की जाने वाली सभी भाषाओं में प्राचीन होना चाहिए

  • एक त्रुटि को ऐसी किसी भी चीज़ के रूप में परिभाषित किया जाता है जिसके कारण कार्यक्रम या तो पूरी तरह से विफल हो जाता है या समय की एक सीमित मात्रा के बाद एक नॉनज़ेरो एक्जिट कोड के साथ समाप्त हो जाता है।

  • यह रोसेट्टा-स्टोन है , इसलिए अधिकांश भाषाओं के साथ उत्तर जीतता है

    • टाई ब्रेकर के मामले में , बाइट्स में सबसे लंबा समाधान, जीतता है

मुझे कुछ जोड़े / भाषाओं के समूहों के लिए असंभवता के प्रमाणों में भी दिलचस्पी होगी। यदि आप एक विशेष रूप से दिलचस्प प्रमाण पाते हैं, तो कृपया इसे टिप्पणियों में छोड़ दें (या, अधिमानतः, पूर्ण लिखने के लिए एक लिंक), और मैं आपको उत्तर के रूप में पोस्ट करने के लिए आमंत्रित करूंगा ताकि मैं सहमत होने पर इसे इनाम दे सकूं यह विशेष रूप से दिलचस्प है। कृपया इन साक्ष्यों को तब तक पोस्ट न करें जब तक कि मैंने यह नहीं कहा कि मैं इसे एक इनाम दूंगा, मैं नहीं चाहता कि सभी उत्तर ऐसे प्रमाणों से भरे जाएं और वास्तविक उत्तरों को दफन किया जाए। मेरे बिना आपके द्वारा पोस्ट किए गए सबूतों को मान्य नहीं माना जाएगा

जवाब

4 Jonah Oct 01 2020 at 01:15

6 भाषाएं

बैश , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

Zsh , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

मछली , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

टीसीएच , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

ksh , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

जे , 4 बाइट्स

echo

इसे ऑनलाइन आज़माएं!

एक उबाऊ के साथ चीजों को मारना। अगर मैं नियमों को समझता हूं, तो मुझे लगता है कि यह कानूनी है।

गोले पर्याप्त स्पष्ट हैं और एक नई रूपरेखा का उत्पादन करते हैं। किसी भी सन्निहित विकल्प को हटाने के परिणामस्वरूप "कमांड नहीं मिला"।

जे में, echoएक बिल्ट इन फंक्शन है, और एक नई लाइन के साथ अपने तर्क को प्रिंट करता है। J में 0-तर्क कार्य नहीं हैं, इसलिए आपको इसे किसी चीज़ से कॉल करना होगा। हालाँकि, कुछ भी काम करता है, जिसमें रिक्त स्ट्रिंग भी शामिल है '', जो एक फ़ंक्शन को कॉल करने के लिए पारंपरिक विकल्प है जब तर्क कोई फर्क नहीं पड़ता।