चुनौती
मैंने हाल ही में 8-बिट कंप्यूटर में प्रवेश किया है और उनके और अन्य लोगों के कामकाज पर मोहित हैं; इस प्रकार इस कोड गोल्फ का उद्देश्य, Apple I के लिए स्टीव वोज्नियाक द्वारा डिज़ाइन किए गए Woz मॉनिटर के एक हिस्से को दोहराने के लिए है।
आप दो बाइट्स की चौड़ाई के साथ 22 हेक्साडेसिमल मानों की एक सरणी स्टोर करने के लिए हैं, (न्यूनतम मूल्य $ 10 , अधिकतम मूल्य $ FF ), और फिर इनपुट के n -ount में लें। (आम तौर पर दो; ब्रेनफक जैसी भाषाओं में एक कठिन समय हो सकता है)।
इनपुट से संदर्भित होगा कि कहां से प्रिंटिंग शुरू करने के लिए सरणी में, और कहां से रोकना है; परिभाषित व्यवहार के साथ एक इनपुट में उनका शुरुआती मूल्य कम या समाप्ति मूल्य के बराबर होगा। आपका कार्यक्रम तब प्रत्येक हेक्साडेसिमल मान को मुद्रित करने में सक्षम होना चाहिए, और इसमें हेक्साडेसिमल शामिल हैं।
इसका एक उदाहरण:
Array
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15
Values
FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6 A5
input first num:
04
input second num:
14
40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6
अब इस अभ्यास का दिलचस्प हिस्सा यह है कि आप उपयोगकर्ताओं के इनपुट की सीमा को जांचने के लिए जो चाहें उपयोग कर सकते हैं। व्यक्ति इनपुट hello
और आपके कार्यक्रम में अपरिभाषित व्यवहार है? यह बिना सूचना के चलता है? वे दोनों वैध हैं।
केवल नियम हैं:
1. शुरू होने से पहले आपको अपने कार्यक्रम के हिस्से के रूप में 22 हेक्साडेसिमल मूल्यों को शामिल करना चाहिए, (इनपुट के लिए उपयोगकर्ता से नहीं पूछ सकते)।
2. हेक्साडेसिमल मानों के आउटपुट को सटीक प्रारूप का पालन करना चाहिए:
00 FF 00 FF 00
ट्रेलिंग स्पेस, टैब या लाइनें ठीक हैं। वर्ण नहीं हैं।
3. प्रोग्राम को संदेश के साथ इनपुट के लिए पूछना नहीं पड़ता है। यदि आप चाहें तो "संदेश" खाली छोड़ दें। उपयोगकर्ता को हालांकि हेक्स-सीमा इनपुट करना होगा।
4. जैसा कि 22 हेक्साडेसिमल के मूल्यों के साथ तय करने के लिए हैं, आपको एक प्रोग्राम बनाना चाहिए जो वास्तव में भंडारण से मूल्यों को प्राप्त करता है, बस मूल्यों को प्रिंट करके प्रोग्राम की नकल करने का विरोध करता है। (जैसे कि $ 00 की सूची )।
5। इनपुट की एन-राशि , दो बाइट-चौड़ाई के एक हेक्साडेसिमल को पहचानने के लिए आपकी पसंद की भाषा के लिए आवश्यक इनपुट की मात्रा को संदर्भित करता है। जैसे। (ब्रेनफुक को प्रति हेक्स दो इनपुट की आवश्यकता होगी, जिससे यह दो के लिए चार हो जाएगा)।
यदि आपको स्पष्टीकरण की आवश्यकता है तो बेझिझक टिप्पणी करें।
यह कोड गोल्फ है, इसलिए बाइट्स की संख्या में सबसे कम जवाब विजेता है।
लीडरबोर्ड
यहाँ एक लीडरबोर्ड स्निपेट शिष्टाचार पैदा कर रहा है मार्टिन एंडर के ।
यह सुनिश्चित करने के लिए कि आपका उत्तर दिखाई दे रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
# Language Name, N bytes
N
आपके प्रस्तुत करने का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
क्योंकि ब्रेनफक 2 कैरेक्टर स्ट्रिंग में नहीं ले जा सकता है, आपको पहले बाइट को इनपुट करना होगा, फिर दूसरे को पहले वैल्यू के लिए, और फिर दूसरे वैल्यू के लिए फिर से करना होगा, कुल में 4 इनपुट। हालाँकि वे आपके जैसे कई हो सकते हैं।