05AB1E , 162 159 157 बाइट्स
कोड
दमयन्ती, रास्ता बहुत लंबा है, लेकिन यह कम से कम कुछ है:
">:U"VI3Qið16×7166b1ð:0Y:DUJ,Yð13×JD?X,3838b1ð:0Y:D?X,16255b1ð:0Y:D?X,16367b1ð:0Y:4F?X,}ð21×Y3×J,}¹2Qið4×" U U"©J,"> :"®JD," > "?®,,ð6×'U3×J,}¹iY,}"quack
इसे ऑनलाइन आज़माएं!
व्याख्या
कोड का पहला भाग मौजूद है ">:U"V
, जो Y
उस स्ट्रिंग को सेट करता है। उसके बाद, हम सिर्फ यह जांचते हैं कि इनपुट 3 के बराबर है या नहीं I3Qi
। यदि समान है, तो हम विशालकाय मेग्पी प्रिंट करते हैं:
एन = 3
यह पहले शुरू होता है ð16×
जिसके साथ बस 16 अंतरिक्ष वर्णों को धकेलता है। उसके बाद, एक नंबर है 7166b
। यह ">:U "
भाग को कवर करता है , रेटिना से थोड़ी मदद के साथ :)। मैंने स्ट्रिंग को बाइनरी नंबर में बदलने के लिए इस स्क्रिप्ट का उपयोग किया । उसके बाद, हम उस 1ð:0Y:
हिस्से पर पहुंचते हैं, जो हर जगह 1
को एक स्पेस कैरेक्टर से बदल देता है और हर एक के 0
साथ Y
, जिसे सेट किया गया है >:U
। उसके बाद, हम D
इस स्ट्रिंग uplicate, में संग्रहीत X
का उपयोग कर U
और J
ढेर oin। हम इसका उपयोग करके पॉप करते हैं ,
, जो एक नई रेखा के साथ पूर्ण स्ट्रिंग को प्रिंट करता है। उसके बाद के सभी अन्य सभी एक ही प्रिंसिपल पर आधारित हैं। यदि कथन दूसरे पर समाप्त होता है }
।
पूर्ण रूपांतरण यहां पाया जा सकता है ।
एन = 2
अब हम जांचते हैं कि इनपुट 2 के बराबर है। यह ¹2Qi
भाग में किया गया है। उसके बाद, यदि समान है, तो हम 4 बार का उपयोग करके अंतरिक्ष वर्ण को धक्का देते हैं ð4×
। उसके बाद, हम " U U"
स्ट्रिंग को धक्का देते हैं और इसका उपयोग करके स्टोर करते हैं ©
(विचार जेली से चोरी हो गया है: पी)। हम फिर J
से ढेर को हटाते हैं और इसे एक नई रेखा के साथ प्रिंट करते हैं। उसके बाद, हम "> :"
स्ट्रिंग को धकेलते हैं , " U U"
उपयोग को पुनः प्राप्त करते हैं ®
, J
स्टैक को D
हटाते हैं और इस स्ट्रिंग को ऊपर उठाते हैं और इन दोनों को एक ही लाइन पर प्रिंट करते हैं।
लघु प्रश्नोत्तरी, यह क्या करेगा " > "?®,
:?
उपरोक्त स्ट्रिंग को प्रिंट करने के बाद, हम चेहरे की दूसरी पंक्ति का डुप्लिकेट प्राप्त करते हैं, और इसे प्रिंट करते हैं (क्योंकि यह दूसरी पंक्ति के समान है)।
इस मामले द्वारा कवर किया गया अंतिम भाग है:
ð6×'U3×J,
ð6× # Push the space character × 6
'U3× # Push the "U" character three times
J, # Join and print pop with a newline
एन = 1
यह समझाने में आसान है:
¹1QiY
¹1Qi # Check if the input is equal to 1
Y # Push the magpie face
# This is then implicitly printed
एन = 0
¹0Qi"quack
¹0Qi # Check if the input is equal to 0
"quack # Weird sound what magpies make
# Implicitly printed