THE Magic Hexagon


17

มีสี่เหลี่ยมเวทย์มนตร์มากมาย แต่มีเพียงหกเหลี่ยมเวทย์มนตร์ที่ไม่สำคัญเพียงอย่างเดียวดังที่ดร. เจมส์กริมม์อธิบายซึ่งต่อไปนี้:

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

ตามที่เขียนไว้ในHexagonyนี่เป็นการเขียนที่ง่ายที่สุดในหนึ่งบรรทัดโดยเพียงแค่อ่านทีละแถว:

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

@Okx ขอให้แสดงรายการตัวแปรที่เหลืออยู่ รายการที่เหลือคือ:

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
สิ่งนี้สามารถทำได้ในรูปหกเหลี่ยม? ถ้าเป็นเช่นนั้นฉันจะให้รางวัลเพื่อให้รางวัลคำตอบนั้น
นาย Xcoder

1
@ Mr.Xcoder ทุกอย่างสามารถทำได้ใน Hexagony มันอาจจะไม่น่าสนใจมากนักเพราะฉันสงสัยว่าคุณจะสามารถบันทึกไบต์ได้เพียงแค่พิมพ์รายการใดรายการหนึ่งอย่างแท้จริง
Martin Ender

คำตอบ:



5

เยลลี่ 11 ไบต์

“JɼQⱮȦ>Ȯ’Œ?

ลิงก์ niladic ที่ส่งคืนรายการของการวางแนวที่ระบุนั้นสะท้อนไปทางซ้ายขวา

ลองออนไลน์!

อย่างไร?

แค่สิ่งที่ฉันทำ Œ?

“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

Pyth, 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в

บีบอัดสตริง 255 ฐานเป็นจำนวนฐาน 10 และแปลงเป็นรายการฐาน 20 หลัก

ลองออนไลน์!


3

SOGL , 15 ไบต์

³←@uΙΒQH√y׀“L«─

คำอธิบาย:

...“     push the number 4121998669867569415662783
    L«   push 20
      ─  convert 4121998669867569415662783 from base 10 to a base 20 number aka base 10 array 

3

เยลลี่ 21 ไบต์

18473955480703453œ?19

ฉันต้องการบีบอัดจำนวนมากนั้นจริง ๆ แต่ฉันไม่แน่ใจ

ลองออนไลน์!


18473955480703453สั้นลง 1 ไบต์
Emigna

แก้ไขให้ถูกต้องหากฉันผิด แต่จะไม่รายการดัชนีหน้ารหัสสั้นลงหรือไม่
Nick Clifford

การบีบอัด RE: เป็นหมายเลขเดียวกับที่ฉันใช้กับฉัน สิ่งที่คุณต้องทำคือแปลงจำนวนให้เป็นฐาน bijective 250 โดยใช้ḃ250และจัดทำดัชนีเป็นหน้ารหัส (ซึ่งตอนนี้ง่ายกว่าเนื่องจากมีอะตอม niladic สำหรับมันØJ)
Jonathan Allan

@NickClifford ก็จะเป็น 21 ไบต์เช่นกัน (ดัชนี 19 ข้อ, เครื่องหมายคำพูดแบบเปิดและเครื่องหมายคำพูดปิด)
Jonathan Allan

@JanathanAllan Ah เข้าใจแล้ว
Nick Clifford



0

Mathematica ขนาด 37 ไบต์

36^^md1o3apsqxqkfhq6~IntegerDigits~20

คำอธิบาย (ซึ่งอาจเห็นได้ชัดว่า Mathematica ไม่ใช่ภาษา codegolf แต่เป็นไปตามข้อกำหนดของ OP):

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 ซับซ้อนจริงเป็นเรื่องเกี่ยวกับการบีบอัดข้อมูล
ข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.