Istnieje wiele magicznych kwadratów, ale jest tylko jeden nietrywialny magiczny sześciokąt, jak wyjaśnił dr James Grime , a mianowicie :
18 17 3
11 1 7 19
9 6 5 2 16
14 8 4 12
15 13 10
Jak to jest zrobione w Hexagony, najłatwiej jest napisać tylko jedną linię, po prostu czytając go wiersz po rzędzie:
18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10
Oczywiście istnieje łącznie dwanaście takich reprezentacji tego magicznego sześciokąta, jeśli uwzględni się obroty i odbicia. Na przykład spowodowałoby obrót powyższego sześciokąta o 1/6 zgodnie z ruchem wskazówek zegara
9 11 18 14 6 1 17 15 8 5 7 3 13 4 2 19 10 12 16
@Okx poprosił o listę pozostałych wariantów. Pozostałe listy to:
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 wszystkie wymienione listy odwrócone.
Wyzwanie
Napisz program, który wyświetla magiczny sześciokąt jako listę. Możesz wybrać dowolne z 12 odbić / obrotów sześciokąta.
Dodaj kilka słów o tym, jak działa Twoje rozwiązanie.
Odpowiedzi:
Oktawa, 24 bajty
Wypróbuj online!
źródło
Galaretka , 11 bajtów
Łącze niladyczne zwracające listę podanej orientacji odbijało się w lewo-prawo.
Wypróbuj online!
W jaki sposób?
Właśnie takie rzeczy, dla których zrobiłem
Œ?
źródło
Pyth, 15 bajtów
(Znaki kontrolne zostały zastąpione przez
\x06
i\x11
dla wygody oglądania).Wypróbuj online
Jak to działa
źródło
05AB1E , 14 bajtów
Oba rozwiązania generują listę
[3,17,18,19,7,1,11,16,2,5,6,9,12,4,8,14,10,13,15]
Generuje listę wszystkich (posortowanych) permutacji zakresu
[1...19]
i indeksuje do tej listy ze skompresowaną liczbą podstawową 255 o numerze 10.Lub 15 bajtów możliwych do uruchomienia online
Dekompresuje podstawowy ciąg 255 na liczbę podstawową 10 i konwertuje na listę 20 podstawowych cyfr.
Wypróbuj online!
źródło
SOGL , 15 bajtów
Wyjaśnienie:
źródło
Galaretka , 21 bajtów
Naprawdę chcę skompresować tę dużą liczbę, ale nie jestem pewien, jak to zrobić.
Wypróbuj online!
źródło
18473955480703453
jest o 1 bajt krótszy.ḃ250
i zaindeksować na stronie kodowej (co jest teraz łatwiejsze, ponieważ istnieje dla niej atom niladycznyØJ
).APL, 24 bajty
Wypróbuj online!
W jaki sposób?
źródło
JavaScript (ES6), 49 bajtów
Pokaż fragment kodu
źródło
Mathematica, 37 bajtów
Objaśnienie (może to już być oczywiste, ponieważ Mathematica nie jest językiem kodegolfa, ale zgodnie z wymaganiami PO):
Wynik:
źródło
Japt , 27 bajtów
Zainspirowany rozwiązaniem rahnema1.
Wypróbuj online
źródło