"L;L'!+!'_
इसे ऑनलाइन आज़माएं!
यह प्रिंट:
_'!+!'L;L"
इसे ऑनलाइन आज़माएं!
और इसके विपरीत।
व्याख्या
यह रिवर्स क्वीन का एक संशोधन है । यह यहां हमारे लाभ के लिए काम कर रहा है जो !मुद्रण के लिए उपयोग किया जाता है और उद्धरण से केवल एक कोड बिंदु दूर है "। इससे उद्धरण मुद्रण अनुभाग को पैलिंड्रोमिक ( '!+!') बनाना आसान हो जाता है । पहले कोड के साथ शुरू करते हैं:
"L;L'!+!'_
इस कार्यक्रम में दो प्रवेश बिंदु हैं L , जो प्रत्येक को एक बाएं-बाएं परमाणु बनाता है। हालांकि, सही एक तुरंत हिट हो जाता है ;जो इसे नष्ट कर देता है। बाएं वाला स्ट्रिंग मोड में प्रवेश करता है और अंत में चारों ओर लपेटता है, ताकि यह पूरे कोड ( "पीछे को छोड़कर ) को सामने से प्रिंट करता है । वह हमें पहले ही दे देता है _'!+!'L;L। जो कुछ बचा है, उसे प्रिंट करना है "। _नजरअंदाज किया जा सकता है, '!परमाणु के द्रव्यमान को 33 (कोड बिंदु !) पर सेट करता है , +इसे बढ़ाता है "और !इसे प्रिंट करता है। वह सब आउटपुट किया है। 'Lसेट की बात करने के लिए कोड परमाणुओं जन Lलेकिन वह अप्रासंगिक है। ;इस परमाणु को भी नष्ट कर देता है और चूंकि कोई परमाणु नहीं बचा है, इसलिए कार्यक्रम समाप्त हो जाता है।
अब दूसरा रास्ता:
_'!+!'L;L"
फिर, हमारे पास दो प्रवेश बिंदु हैं लेकिन एक परमाणु तुरंत नष्ट हो जाता है। इस समय के माध्यम से हम आगे बढ़ते हैं!+!' पहले खंड , इसलिए हम एक उद्धरण मुद्रित करके शुरू करते हैं। '_फिर से कोई वास्ता नहीं है, लेकिन हम की जरूरत है _(या कुछ अन्य बेकार चरित्र) यहां से बचने के लिए 'भागने "। परमाणु अंत तक लपेटता है, स्ट्रिंग प्रोग्राम में एक बार स्रोत कोड को उलट देता है, बाकी प्रोग्राम को रिवर्स में प्रिंट करने के लिए, Lफिर इसे अनदेखा किया जाता है और ;परमाणु को नष्ट कर देता है और प्रोग्राम को समाप्त कर देता है।