मेरी पहली आविष्कार एसोलंग की कोशिश करना। प्रारंभिक भ्रम के बाद मैंने पाया कि समाधान इतना सरल है।
_1 p
_^v>~2+p
> >~3+p
> >~4+X@7~8+~@$^^{;
> >~5+@7~8+~@${;
स्पष्टीकरण:
मधुमक्खी पालन कार्यक्रम 2 डी हेक्सागोनल ग्रिड पर काम करते हैं। कार्यक्रम एक आयताकार प्रारूप में संग्रहीत होते हैं।
a — b — c — d
/ \ / \ / \ /
e — f — g — h
/ \ / \ / \ /
i — j — k — l
के रूप में संग्रहीत किया जाता है
abcd
efgh
ijkl
कुछ दिशाओं में आगे बढ़ने के निर्देश हैं:
b — d
/ \ / \ bd
< —IP — > or in compact form (β=IP): <β>
\ / \ / pq
p — q
संक्षिप्त व्याख्या
_1 p
IP बनाएं, 1 जोड़ें, फिर IP को पंक्ति 2 पर पुनर्निर्देशित करें
_^v>~2+p
एक और आईपी बनाएँ, बस केस लाइन 1 गायब है, यह सुनिश्चित करने के लिए आईपी को धीमा करें कि लाइन एक से आईपी आगे है, फिर 2 जोड़ें, फिर लाइन 3 पर रीडायरेक्ट करें
> >~3+p
3 जोड़ें, फिर पंक्ति 4 पर पुनर्निर्देशित करें
> >~4+X@7~8+~@$^^{;
4 जोड़ें, फिर 15 तक 2 लेस्टैक मान सेट करें, फिर XOR लेस्टैक टॉप और 2 वैल्यू, IP को धीमा करें (यह सुनिश्चित करने के लिए कि लाइन 5 में आईपी आगे है, यदि लाइन 5 मौजूद है) और परिणाम को आउटपुट करें, तो प्रोग्राम को समाप्त करें।
> >~5+@7~8+~@${;
5 जोड़ें, फिर धीमे को छोड़कर, पंक्ति 4 के समान करें।
मूल रूप से कार्यक्रम सिर्फ एक राशि xor 15 की गणना करता है
- कार्यक्रम बरकरार: (1 + 2 + 3 + 4 + 5) xor 15 = 0
- पंक्ति 1 गायब है: (2 + 3 + 4 + 5) xor 15 = 1
- पंक्ति 2 गायब है: (1 + 3 + 4 + 5) xor 15 = 2
- पंक्ति 3 गायब है: (1 + 2 + 4 + 5) xor 15 = 3
- पंक्ति 4 गायब है: (1 + 2 + 3 + 5) xor 15 = 4
- पंक्ति 5 गायब है: (1 + 2 + 3 + 4) xor 15 = 5
>
लाइनों 3 से 5 में अतिरिक्त सिर्फ यह गारंटी देता है कि यदि 2 से 4 लाइनों में से एक गायब है, तो आईपी अभी भी ठीक से पुनर्निर्देशित हो जाता है और प्रोग्राम को नहीं छोड़ता है।
आप जिटिया में लिखी मेरी बीटवाक्स दुभाषिया को मेरे गीथहॉस रिपॉजिटरी से क्लोन कर सकते हैं
GitHub पर रीडमी अधिक तिथि तक है और एसोलैंग्स पृष्ठ की तुलना में बेहतर संरचित है।