जे, 28 वर्ण
((C.!.2=_1^i.&0)&.".&.stdin''
इनपुट ऑर्डर पंक्ति-प्रमुख है जिसमें पंक्तियों को तालिका के पार एकल पथ में दाएं से बाएं और दाएं से बाएं पढ़ा जाता है। मान लेता है कि शून्य शीर्ष बाएं कोने से संबंधित है।
विंडोज पर उपयोग:
<nul set /p="0 1 2 3 7 6 5 4 8 9 10 11 15 14 13 12" | jconsole c:\...\15.jhs
स्पष्टीकरण:
<nul set /p=
इनपुट में एक नई लाइन को रोकने के लिए उपयोग किया जाता है, जो echo
कि ".
पसंद नहीं करता है। बेशक, यूनिक्स समर्थन करता है echo /n
।
v&.".&.stdin''
स्टड "अर्थ" इनपुट के तहत "v पार्स अंडर रीडिंग" पढ़ता है, फिर इनपुट पार्स करें, फिर वी करें, फिर पूर्ववत करें (= प्रारूप), फिर पूर्ववत इनपुट (= आउटपुट)। 1!:1]3
एक वर्ण छोटा है, लेकिन इसका कोई परिभाषित व्युत्क्रम नहीं है।
C.!.2
का अर्थ है "क्रमपरिवर्तन समता"। यह या तो 1
(यहां तक कि समता) या _1
विषम समता देता है। अर्थात्,_1^inversions
_1^i.&0
"-1 के सूचकांक की शक्ति के लिए -1" का मतलब है।
- इस प्रकार, का
C.!.2=_1^i.&0
अर्थ है "क्या क्रमबद्धता समता छेद स्थिति समता के बराबर है?"
यह 4x4 बोर्ड के लिए काम करता है, लेकिन अगर वांछित अंत स्थिति पंक्ति-प्रमुख बाएं-से-दाएं है, तो हल की गई स्थिति के लिए क्रमांकन में विषम संख्या, और इस प्रकार विषम समता है। इसके अलावा, जब वांछित छेद की स्थिति ऊपरी बाएं से नीचे दाईं ओर चलती है, तो समता उलट जाती है (किसी भी इनपुट ऑर्डर के लिए)। दोनों मामलों में, फिक्स एक चरित्र है: अपेक्षित समानता को उलटने के -
बाद जोड़ें =
।
शुद्धता का प्रमाण:
प्रत्येक चाल के बाद, शून्य कुछ संख्या के साथ एक स्थिति का आदान-प्रदान करता है, क्रमबद्धता समता को प्रवाहित करता है। शून्य भी सफेद और काले रंग के चेकबोर्ड पदों के बीच वैकल्पिक होता है, जो इनपुट ऑर्डर में विषम और यहां तक कि पदों द्वारा इंगित किया जाता है। इस प्रकार, यह स्थिति neccessary है। यह गिनती के तर्क से भी पर्याप्त है: यह सामान्य ज्ञान है कि पदों का ठीक आधा भाग हल करने योग्य है। यह स्थिति संभावित स्थिति के ठीक आधे हिस्से को फ़िल्टर करती है।