Es gibt viele magische Quadrate, aber es gibt nur ein nicht triviales magisches Sechseck, wie Dr. James Grime erklärte :
18 17 3
11 1 7 19
9 6 5 2 16
14 8 4 12
15 13 10
Da es in Hexagony gemacht wird, ist es am einfachsten, es als eine einzige Zeile zu schreiben, indem man es Zeile für Zeile liest:
18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10
Natürlich gibt es insgesamt zwölf solcher Listendarstellungen dieses magischen Sechsecks, wenn Sie Rotationen und Reflexionen zählen. Zum Beispiel würde eine Drehung des obigen Sechsecks um 1/6 im Uhrzeigersinn zur Folge haben
9 11 18 14 6 1 17 15 8 5 7 3 13 4 2 19 10 12 16
@Okx bat darum, die verbleibenden Varianten aufzulisten. Die restlichen Listen sind:
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
plus alle genannten Listen vertauscht.
Herausforderung
Schreiben Sie ein Programm, das das magische Hexagon als Liste ausgibt. Sie können eine der 12 Reflexionen / Rotationen des Sechsecks auswählen .
Bitte fügen Sie ein paar Worte hinzu, wie Ihre Lösung funktioniert.
Antworten:
Oktave, 24 Bytes
Probieren Sie es online!
quelle
Jelly , 11 Bytes
Ein niladischer Link, der die Liste der angegebenen Ausrichtung von links nach rechts zurückgibt.
Probieren Sie es online!
Wie?
Genau das, wofür ich gemacht habe
Œ?
quelle
Pyth, 15 Bytes
(Steuerzeichen werden zu Ihrer Bequemlichkeit durch
\x06
und ersetzt\x11
.)Probieren Sie es online aus
Wie es funktioniert
quelle
05AB1E , 14 Bytes
Beide Lösungen erzeugen die Liste
[3,17,18,19,7,1,11,16,2,5,6,9,12,4,8,14,10,13,15]
Erzeugt eine Liste aller (sortierten) Permutationen des Bereichs
[1...19]
und indiziert diese Liste mit einer Basis-255-komprimierten Basis-10-Zahl.Oder 15 Bytes online lauffähig
Dekomprimiert eine Zeichenfolge zur Basis 255 in eine Zahl zur Basis 10 und konvertiert sie in eine Liste mit 20 Stellen zur Basis.
Probieren Sie es online!
quelle
SOGL , 15 Bytes
Erläuterung:
quelle
Jelly , 21 Bytes
Ich möchte diese große Zahl wirklich komprimieren, bin mir aber nicht sicher, wie.
Probieren Sie es online!
quelle
18473955480703453
ist 1 Byte kürzer.ḃ250
und Index in die Codepage in die bijektive Basis 250 umzuwandeln (was jetzt einfacher ist, da es ein Nilad-Atom dafür gibtØJ
).APL, 24 Bytes
Probieren Sie es online!
Wie?
quelle
JavaScript (ES6), 49 Byte
Code-Snippet anzeigen
quelle
Mathematica, 37 Bytes
Erklärung (das mag bereits offensichtlich sein, da Mathematica keine Codegolf-Sprache ist, sondern gemäß der OP-Anforderung):
Ausgabe:
quelle
Japt , 27 Bytes
Inspiriert von der Lösung von rahnema1.
Probieren Sie es online aus
quelle