मैजिक षट्कोण


17

कई जादू वर्ग हैं, लेकिन डॉ। जेम्स ग्रिम के रूप में सिर्फ एक गैर-तुच्छ जादू षट्भुज है , जो निम्नलिखित है:

  18 17  3
 11  1  7 19
9  6  5  2 16
 14  8  4 12
  15 13 10

जैसा कि हेक्सागोनी में किया जाता है यह केवल एक पंक्ति के रूप में सबसे आसान लिखा जाता है, बस इसे पंक्ति द्वारा पंक्ति पढ़कर:

18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10

बेशक, कुल मिलाकर इस जादू हेक्सागोन के बारह ऐसी सूची प्रतिनिधित्व हैं, यदि आप रोटेशन और प्रतिबिंबों की गणना करते हैं। उदाहरण के लिए उपरोक्त षट्भुज का एक दक्षिणावर्त 1/6 घूर्णन होता है

9 11 18 14 6 1 17 15 8 5 7 3 13 4 2 19 10 12 16

@ ऑक्स ने शेष वेरिएंट को सूचीबद्ध करने के लिए कहा। शेष सूचियाँ हैं:

15 14 9 13 8 6 11 10 4 5 1 18 12 2 7 17 16 19 3
3 17 18 19 7 1 11 16 2 5 6 9 12 4 8 14 10 13 15
18 11 9 17 1 6 14 3 7 5 8 15 19 2 4 13 16 12 10
9 14 15 11 6 8 13 18 1 5 4 10 17 7 2 12 3 19 16

प्लस सभी उल्लिखित सूचियों को उलट दिया।

चुनौती

एक कार्यक्रम लिखें जो सूची के रूप में जादू हेक्सागोन को आउटपुट करता है। आप षट्भुज के 12 प्रतिबिंबों / घुमावों में से किसी को चुन सकते हैं ।

कृपया अपने समाधान कैसे काम करता है पर कुछ शब्द जोड़ें।


2
क्या यह हेक्सागोनी में किया जा सकता है? यदि हां, तो मैं उस उत्तर को पुरस्कृत करने के लिए एक इनाम दूंगा।
श्री एक्सकोडर

1
@ श्री एक्सकोडर कुछ भी हेक्सागोनी में किया जा सकता है। यह शायद बहुत दिलचस्प नहीं होगा, क्योंकि मुझे संदेह है कि आप सूची में से किसी एक को शाब्दिक रूप से प्रिंट करने से बाइट्स को बचाने में सक्षम होंगे।
मार्टिन एंडर

जवाबों:



5

जेली , 11 बाइट्स

“JɼQⱮȦ>Ȯ’Œ?

दिए गए अभिविन्यास की सूची को लौटाने वाला एक निलादिक लिंक बाएं-दाएं परिलक्षित होता है।

इसे ऑनलाइन आज़माएं!

कैसे?

बस उस तरह की चीज जिसके लिए मैंने बनाया था Œ?

“JɼQⱮȦ>Ȯ’Œ? - Niladic link: no arguments
“JɼQⱮȦ>Ȯ’   - base 250 number, 18473955480703453
         Œ? - shortest permutation of some set of natural numbers one through to some N
            -   inclusive which would lie at that index in a list of all permutations of
            -   those same natural numbers when sorted lexicographically.
            -
            -   - for example 7Œ?:
            -   - since 7 is greater than 3! and less than 4!+1, it references four items
            -   - the sorted order of permutations of 4 items is:
            -   - [[1,2,3,4],[1,2,4,3],[1,3,2,4],[1,3,4,2],[1,4,2,3],[1,4,3,2],[2,1,3,4], ...]
            -   - so 7Œ? yields [2,1,3,4]

4

अजगर, 15 बाइट्स

.PC"A¡öò\x06\x11Ý"S19

(नियंत्रण वर्णों से बदला गया \x06और \x11अपने को देखने की सुविधा के लिए।)

इसे ऑनलाइन आज़माएं

यह काम किस प्रकार करता है

   "A¡öò\x06\x11Ý"      magic string
  C                     convert to number n using codepoints as base-256 digits
.P                S19   nth lexicographic permutation of [1, …, 19]

4

05AB1E , 14 बाइट्स

दोनों समाधान सूची तैयार करते हैं [3,17,18,19,7,1,11,16,2,5,6,9,12,4,8,14,10,13,15]

19Lœ•δn2мׄÁ•è

रेंज की सभी क्रमबद्ध (क्रमबद्ध) क्रमपरिवर्तन [1...19]सूची बनाता है और उस सूची में एक आधार 255 संपीड़ित आधार 10 नंबर के साथ होता है।

या 15 बाइट्स ऑनलाइन रन करने योग्य

•áRвºñ*$vn+•20в

एक आधार स्ट्रिंग को आधार 10 संख्या में घटाता है और आधार 20 अंकों की सूची में परिवर्तित करता है।

इसे ऑनलाइन आज़माएं!



3

जेली , 21 बाइट्स

18473955480703453œ?19

मैं वास्तव में उस बड़ी संख्या को संपीड़ित करना चाहता हूं, लेकिन मुझे यकीन नहीं है कि कैसे।

इसे ऑनलाइन आज़माएं!


184739554807034531 बाइट्स छोटी है।
एमिगा

अगर मैं गलत हूं, तो मुझे सुधारें, लेकिन कोड पृष्ठ सूचकांकों की सूची छोटी नहीं होगी?
निक क्लिफर्ड

आरई संपीड़न: यह वही संख्या है जो मैंने खदान में उपयोग की थी। आपको बस इतना करना है कि संख्या को ḃ250पेज पेज में बायजेक्टिव बेस 250 और इंडेक्स में परिवर्तित करना है (जो अब आसान है क्योंकि इसके लिए एक निलादिक परमाणु है ØJ)।
जोनाथन एलन

@ नाइक क्लिफोर्ड यह 21 बाइट्स भी होगा (19 सूचकांक, एक खुली बोली और एक करीबी उद्धरण)।
जोनाथन एलन

@ जोनाथनअल्लन आह, मिल गया।
निक क्लिफर्ड



0

गणितज्ञ, 37 बाइट्स

36^^md1o3apsqxqkfhq6~IntegerDigits~20

स्पष्टीकरण (जो पहले से ही स्पष्ट हो सकता है क्योंकि गणितज्ञ एक कोडगॉल्फ भाषा नहीं है, लेकिन ओपी आवश्यकता के अनुसार):

36  : Number base
^^  : Input a number in arbitrary base. See BaseForm documentation
md1o3apsqxqkfhq6 : the number in base 36
~IntegerDigits~20 : convert to base 20 as list of digits

आउटपुट:

{18,17,3,11,1,7,19,9,6,5,2,16,14,8,4,12,15,13,10}

1
ध्यान दें कि kolmogorv-जटिलता वास्तव में डेटा संपीड़न के बारे में है
दोष

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.