हाइपरप्रोग्रामिंग से प्रेरित : एन + एन, एन × एन, एन ^ एन सभी एक में ।
सैंडबॉक्स में उनकी मदद के लिए @MartinEnder और @trichoplax का शुक्रिया।
परिभाषाएं
Hyperquines
आदेश एन के एक हाइपरक्वाइन को परिभाषित करें जैसे कि एक क्वीन की तरह पूर्ण कार्यक्रम या फ़ंक्शन पी जो उचित नियम पर लागू होने वाले सभी नियमों को संतुष्ट करता है और, इसके अलावा, निम्न संरचना है।
P वर्ण the समूहों का संघटन है जो एक ही वर्ण की n प्रतियों से मिलकर बनता है । जब पी को निष्पादित किया जाता है, तो आउटपुट एक ही समूह का संयोजन होता है, जो चरित्र की एक और प्रतिलिपि द्वारा संवर्धित होता है।
उदाहरण
एक काल्पनिक प्रोग्रामिंग भाषा में जहां स्रोत कोड
aabbccआउटपुट उत्पन्न करता हैaaabbbccc, यह प्रोग्राम ऑर्डर 2 के हाइपरक्वाइन का गठन करता है ।परिभाषा के लिए अलग-अलग समूहों के पात्रों की आवश्यकता नहीं होती है।
यदि स्रोत कोड
aabbccआउटपुट उत्पन्न करता हैaaaabbbbcccc, तो प्रोग्राम क्रम 1 का हाइपरक्वाइन है ; स्रोत कोड में छह एकल-वर्ण समूह होते हैं, छह वर्ण युग्मों का आउटपुट।में GS2 , खाली कार्यक्रम प्रिंट
\n, और कार्यक्रम\nके निशान\n\n। हालांकि, न तो\nऔर न ही\n\nहाइपरक्वाइन हैं, क्योंकि वे उचित quines के सभी गुणों को संतुष्ट नहीं करते हैं ; स्रोत कोड का कोई भी भाग आउटपुट के किसी भिन्न भाग को एनकोड नहीं करता है ।
हाइपरक्वाइन चेन
निम्नलिखित पूर्ण अवरोधों को संतुष्ट करने वाले n पूर्ण कार्यक्रमों या n फ़ंक्शन (P 1 ,…, P n ) के परिमित अनुक्रम के रूप में लंबाई n की एक हाइपरक्वाइन श्रृंखला को परिभाषित करें ।
के आउटपुट पी 1 , ..., पी n-1 हैं पी 2 , ..., पी एन , क्रमशः।
पी 1 ,…, पी एन हाइपरक्वाइन हैं।
पी 1 ,…, पी एन के आदेश आसन्न पूर्णांकों के कड़ाई से बढ़ते अनुक्रम बनाते हैं।
अंत में, एक अनंत हाइपरक्वाइन श्रृंखला को पूर्ण कार्यक्रमों या फ़ंक्शन (P 1 , P 2 ,…) के अनंत अनुक्रम के रूप में परिभाषित करें , ताकि प्रत्येक प्रारंभिक अंतराल (P 1 ,…, P n ) लंबाई n की एक हाइपरक्वीन श्रृंखला का गठन करे ।
उदाहरण
एक काल्पनिक प्रोग्रामिंग भाषा में जहां स्रोत कोड
aabbccआउटपुट उत्पन्न करता हैaaabbbccc, जो बदले में आउटपुट उत्पन्न करता हैaaaabbbbcccc, जोड़ी (aabbcc,aaabbbccc) लंबाई 2 की एक हाइपरक्वाइन श्रृंखला का गठन करती है ।ध्यान दें कि
aaaabbbbcccc- श्रृंखला में अंतिम हाइपरक्वाइन का आउटपुट - एक विशिष्ट आउटपुट का उत्पादन करने की आवश्यकता नहीं है; इसके लिए वैध स्रोत कोड होना भी आवश्यक नहीं है।पिछले उदाहरण को जारी रखते हुए अगर
aaaabbbbccccउत्पादन उत्पन्न करता हैaaaaabbbbbccccc, त्रिक (aabbcc,aaabbbccc,aaaabbbbcccc) लंबाई की एक hyperquine श्रृंखला का गठन किया 3 ।इस पैटर्न हमेशा के लिए जारी है, अनुक्रम (
aabbcc,aaabbbccc,aaaabbbbcccc, ...) एक अनंत hyperquine श्रृंखला का गठन किया।आउटपुट (
abc,aabbcc) के साथ कार्यक्रमों की जोड़ी (aabbcc,aaaabbbbcccc) हाइपरक्वाइन श्रृंखला नहीं है, क्योंकि हाइपरक्वाइन के आदेश दोनों 1 हैं , इसलिए वे सख्ती से बढ़ते अनुक्रम का निर्माण नहीं करते हैं।आउटपुट (
aabbcc,aaaabbbbcccc) के साथ कार्यक्रमों की जोड़ी (aaaabbbbcccc,aaaaabbbbbccccc) हाइपरक्वाइन श्रृंखला नहीं है, क्योंकि हाइपरक्वाइन के आदेश 1 और 4 हैं , इसलिए वे आसन्न पूर्णांक का अनुक्रम नहीं बनाते हैं।
नियम
कार्य
एक में प्रोग्रामिंग भाषा अपनी पसंद का, एक गैर तुच्छ hyperquine चेन, यानी, एक श्रृंखला है कि कम से कम के होते हैं लिखने 2 hyperquines।
हमेशा की तरह, आपके कार्यक्रम किसी भी इनपुट को नहीं ले सकते हैं या किसी भी रूप में अपने स्वयं के स्रोत कोड तक नहीं पहुंच सकते हैं।
यदि आपका दुभाषिया एक अंतर्निहित नई रेखा को प्रिंट करता है, तो आपके हाइपरक्वाइन को इसके लिए जिम्मेदार होना चाहिए ।
सभी मानक खामियों - विशेष रूप से जो कि खदान से संबंधित हैं - लागू होते हैं।
स्कोरिंग
सबसे लंबी हाइपरक्वाइन चेन जीतती है। दो या अधिक प्रस्तुतियाँ बंधा रहे हैं, तो इनमें से प्रस्तुत करने कि कम से कम hyperquine साथ शुरू होता है (अक्षरों में मापा जाता ‡ जीत)। हमेशा की तरह, पोस्टिंग का समय अंतिम टाईब्रेकर है।
Code आपको स्रोत कोड, आउटपुट, वर्ण गणना और निष्पादन के लिए समान वर्ण एन्कोडिंग का उपयोग करना चाहिए। उदाहरण के लिए, अजगर कार्यक्रम print 42है नहीं एक 2-चरित्र UTF-32 प्रस्तुत करने, के बाद से दुभाषिया एक भी चरित्र के रूप में प्रत्येक बाइट व्यवहार करता है। यदि आपकी पसंद की भाषा वर्ण-आधारित नहीं है, तो सभी व्यक्तिगत बाइट्स को वर्णों के रूप में मानें।