7 , 10 बाइट्स, 27 अक्षर
115160723426754314105574033
इसे ऑनलाइन आज़माएं!
डिस्क पर इस कार्यक्रम का पैक्ड प्रतिनिधित्व है ( xxd
प्रारूप):
00000000: 269c 3a71 6f63 308b 7c0d &.:qoc0.|.
व्याख्या
हमने संख्याओं का यह क्रम पहले, में देखा है ऑटोमेट सेविंग द वर्ल्ड में , जो नियमित अंतराल पर संख्याओं को छापने के बारे में था, जिससे बहुत पुरानी भाषा के उपयोग की आवश्यकता होती है। बहुत सी नई भाषाओं के अपने ट्विस्ट हो सकते हैं जो इस चुनौती को दिलचस्प बनाते हैं। (हां, यह पैराग्राफ, और वास्तव में कारण मैंने इस उत्तर को लिखना शुरू कर दिया है, यह प्रभावी रूप से साइडबार में एक साथ दिखाने के लिए सभी संबंधित चुनौतियों को प्राप्त करने का एक तरीका है; आमतौर पर लोग ऐसा करते हैं कि टिप्पणियों का उपयोग करते हैं लेकिन मेरे पास पर्याप्त प्रतिनिधि नहीं है ।)
ध्यान देने वाली पहली बात यह है कि 7 पूरी तरह से अंकों से बना है, इसलिए यहां बोनस के लिए काम करने की संभावना नहीं है (हालांकि यदि आप प्रोग्राम को ऑक्टेट के अनुक्रम के रूप में देखते हैं, तो उनमें से कोई भी मूल संख्या के ASCII के अनुरूप नहीं है। , तो आप उस अर्थ में बोनस का दावा कर सकते हैं)। ध्यान देने वाली अगली बात यह है कि 7 के पास कमांड के अनुक्रम को फिर से बनाने के लिए आदेश है, जिससे डेटा का एक विशिष्ट टुकड़ा उत्पन्न होने की संभावना है; तो क्या हम संभवतः 4815162342
7 प्रोग्राम के एक सेक्शन के रूप में लॉस्ट नंबरों की व्याख्या कर सकते हैं ?
जवाब "काफी नहीं" है। सबसे अधिक समस्या यह है कि दूसरा नंबर,8
। 7 कार्यक्रम अष्टक में लिखे गए हैं; 8 जैसी कोई संख्या नहीं है। इसलिए स्ट्रिंग की बहुत शुरुआत को अलग-अलग प्रिंट करना होगा।
कार्यक्रम का आधार इसीलिए 7 "हैलो वर्ल्ड" कार्यक्रम पर आधारित है:
5431410557403
543141055 string literal
7 separate data from code
4 rearrange stack: {program's source}, empty element, {literal}
0 escape {the literal}, appending it to {the empty element}
3 output {the escaped literal}, pop {the program's source}
बची हुई शाब्दिक के साथ एक डोमेन-विशिष्ट भाषा में है जिसे इस प्रकार व्याख्या की जाती है:
5 output format: US-TTY using pairs of digits in the string
43 select character set: digits and common symbols
14 "4"
10 "8"
55 forget the set output format
इसके बाद एक अतिरिक्त आता है 3
, जो शेष स्टैक तत्व को आउटपुट करता है (और अपर्याप्त शेष स्टैक के कारण बाहर निकलता है)। उस तत्व को कार्यक्रम की शुरुआत में निर्दिष्ट किया गया है, और बेजोड़ से बचने के लिए 6
(जो एक समापन ब्रैकेट की तरह थोड़ा काम करता है), हम इसे डेटा के रूप में सीधे लिखने के बजाय, कोड का उपयोग करके उत्पन्न करते हैं। (ध्यान दें कि 7
कार्यक्रम की शुरुआत में दो निहित वर्ण हैं, जो यहां प्रासंगिक है):
{77}115160723426
7 empty stack element
7 11516 append "1151"
0 append "6"
723246 append "2324"
यह निम्नलिखित शाब्दिक उत्पादन करता है:
115162324
1 set output format: literally as octal
15162324 "15162324"
जो प्रिंट आउट हो जाता है।