2016 समय कैप्सूल स्ट्रिंग से 74 वर्णों का उपयोग करना
H@~*^)$.`~+1A|Q)p~`\Z!IQ~e:O.~@``#|9@)Tf\eT`=(!``|`~!y!`) Q~$x.4|m4~~&!L{%
N कोड स्निपेट सभी को उसी भाषा में लिखें जहाँ:
- 1 स्निपेट आउटपुट
1
। - दूसरा स्निपेट आउटपुट
2
। - 3 स्निपेट आउटपुट
3
। - ... आदि। ...
- Nth स्निपेट आउटपुट
N
(संख्या, शाब्दिक पत्र नहीं)।
"कोड स्निपेट" को इनमें से किसी के रूप में परिभाषित किया गया है:
- कोई आवश्यक इनपुट के साथ एक पूर्ण कार्यक्रम जो सामान्य रूप से संख्या को आउटपुट करता है ।
- कोई आवश्यक तर्क के साथ एक फ़ंक्शन जो सामान्य रूप से संख्या को आउटपुट / वापस करता है ।
- एक REPL अभिव्यक्ति जो संख्या का मूल्यांकन करती है।
(आप अपने एन स्निपेट्स में इन तीन वेरिएंट्स को मिक्स एंड मैच कर सकते हैं।)
एन स्निपेट्स के संयुक्त सेट में आपको जिन पात्रों का उपयोग करने की अनुमति है, वे ठीक समय कैप्सूल के 74 वर्ण हैं, साथ ही floor(N/2)
अतिरिक्त "वाइल्डकार्ड" बाइट्स जो आप कहीं भी उपयोग कर सकते हैं।
उदाहरण के लिए, टाइम कैप्सूल में तीन होते हैं @
इसलिए आपके एन स्निपेट्स की संपूर्णता में केवल तीन @
तक मौजूद हो सकते हैं जब तक कि आप floor(N/2)
अतिरिक्त के लिए अपने वाइल्डकार्ड बाइट्स में से कुछ का उपयोग करने का निर्णय नहीं लेते हैं @
।
इस प्रकार, वाइल्डकार्ड की गिनती नहीं करना, आपके एन स्निपेट्स में वर्णों का संयुक्त सेट 74 समय कैप्सूल वर्णों का सबसेट होना चाहिए। उनकी संयुक्त लंबाई 74 से अधिक नहीं हो सकती है। आप स्निपेट के बीच समय कैप्सूल वर्ण या वाइल्डकार्ड बाइट्स का पुन: उपयोग नहीं कर सकते हैं।
टिप्पणियाँ
स्निपेट की लंबाई पर कोई अन्य सीमा नहीं है या प्रति स्निपेट कितने वाइल्डकार्ड का उपयोग किया जा सकता है।
आपको एन के माध्यम से 1 के लिए सभी स्निपेट लिखना होगा । यह 0 से एन -1 के लिए नहीं है, न कि एन + के -1 से।
स्निपेट व्यक्तिगत होना चाहिए, न कि एक स्निपेट जो सूची को आउटपुट करता है
1, 2, 3, ..., N
।आउटपुट के
3.0
स्थान पर फ़्लोट्स हो3
सकते हैं और आप दशमलव के अलावा किसी अन्य आधार का उपयोग कर सकते हैं यदि यह आपकी भाषा का प्राकृतिक आधार है । आपको सभी स्निपेट के लिए एक ही आधार का उपयोग करना चाहिए।वाइल्डकार्ड को आपकी भाषा के एन्कोडिंग में बाइट्स के रूप में गिना जाता है । यह संभवतः ASCII होगा, लेकिन उदाहरण के लिए यदि
∞
आपके एन्कोडिंग में एक बाइट के रूप में गिना जाता है तो आप इसे एकल वाइल्डकार्ड बाइट के रूप में उपयोग कर सकते हैं।आप मल्टीबाइट पात्रों के लिए वाइल्डकार्ड बाइट्स का उपयोग कर सकते हैं। उदाहरण के
∞
लिए आम तौर पर तीन बाइट्स होते हैं इसलिए आप इसे स्निपेट में इस्तेमाल कर सकते हैं लेकिन यह आपकेfloor(N/2)
वाइल्डकार्ड बाइट्स के तीन खर्च करेगा ।इस तरह के एक के रूप में
\r\n
विचार किया जा सकता है नई बाइट्स ।
उदाहरण
पायथन में, N = 4 केवल REPL के उपयोग से संभव है। हैं floor(4/2) = 2
वाइल्डकार्ड।
1
समय कैप्सूल एक अभिव्यक्ति है जो करने के लिए evals है1
।2
एक एकल वाइल्डकार्ड के होते हैं, अर्थात्2
। के लिए ईवल्स2
।3
एक एकल वाइल्डकार्ड भी शामिल है। के लिए ईवल्स3
। और कोई वाइल्डकार्ड नहीं।4
सौभाग्य से समय कैप्सूल में है और यह करने के लिए evals4
।
ये स्निपेट छोटे और तुच्छ होते हैं। एक वास्तविक उत्तर संभवतः अधिक जटिल होगा।
(पांच और पायथन से परे निश्चित रूप से संभव हो सकता है लेकिन मैं इसे पेशेवरों के लिए छोड़ दूँगा।)
स्कोरिंग
उच्चतम एन जीत के साथ जवाब; यानी पूर्णांक सीढ़ी पर चढ़ने वाला उच्चतम।
एक टाई के मामले में, सबसे कम वाइल्डकार्ड बाइट्स का उपयोग करने वाला उत्तर जीत जाता है।
मामले में अभी भी एक टाई है, जवाब जो सबसे कम संचयी वर्णों का उपयोग करता है वह जीतता है।
यदि अभी भी एक टाई है, तो पहले वाला उत्तर जीत जाता है।
07
रूप में ही है 7
?
-
n
4
एक वैध स्निपेट है जो पर्ल के पुराने संस्करणों में 4 रिटर्न करता है, जिसका कोई आरईपीएल नहीं है?)