Masz siatkę 3x3. Każda komórka może być w kolorze czarnym lub białym. Wyświetl wszystkie 512 z tych kolorów. Wygrywa najmniej bajtów.
Siatki można wyświetlać w dowolnej formacji, o ile są one wizualnie oddzielone, a odstępy wyglądają regularnie. Możesz użyć grafiki lub obrazów ASCII. W przypadku czerni i bieli można użyć dowolnych dwóch wyraźnych widocznych symboli lub kolorów. Wszelkie białe znaki są poprawne, o ile wynik jest poprawny wizualnie.
Przykładowe dane wyjściowe:
...
...
...
...
...
..X
...
...
.X.
...
...
.XX
...
...
X..
...
...
X.X
...
...
XX.
...
...
XXX
...
..X
...
...
..X
..X
...
..X
.X.
...
..X
.XX
...
..X
X..
...
..X
X.X
...
..X
XX.
...
..X
XXX
...
.X.
...
...
.X.
..X
...
.X.
.X.
...
.X.
.XX
...
.X.
X..
...
.X.
X.X
...
.X.
XX.
...
.X.
XXX
...
.XX
...
...
.XX
..X
...
.XX
.X.
...
.XX
.XX
...
.XX
X..
...
.XX
X.X
...
.XX
XX.
...
.XX
XXX
...
X..
...
...
X..
..X
...
X..
.X.
...
X..
.XX
...
X..
X..
...
X..
X.X
...
X..
XX.
...
X..
XXX
...
X.X
...
...
X.X
..X
...
X.X
.X.
...
X.X
.XX
...
X.X
X..
...
X.X
X.X
...
X.X
XX.
...
X.X
XXX
...
XX.
...
...
XX.
..X
...
XX.
.X.
...
XX.
.XX
...
XX.
X..
...
XX.
X.X
...
XX.
XX.
...
XX.
XXX
...
XXX
...
...
XXX
..X
...
XXX
.X.
...
XXX
.XX
...
XXX
X..
...
XXX
X.X
...
XXX
XX.
...
XXX
XXX
..X
...
...
..X
...
..X
..X
...
.X.
..X
...
.XX
..X
...
X..
..X
...
X.X
..X
...
XX.
..X
...
XXX
..X
..X
...
..X
..X
..X
..X
..X
.X.
..X
..X
.XX
..X
..X
X..
..X
..X
X.X
..X
..X
XX.
..X
..X
XXX
..X
.X.
...
..X
.X.
..X
..X
.X.
.X.
..X
.X.
.XX
..X
.X.
X..
..X
.X.
X.X
..X
.X.
XX.
..X
.X.
XXX
..X
.XX
...
..X
.XX
..X
..X
.XX
.X.
..X
.XX
.XX
..X
.XX
X..
..X
.XX
X.X
..X
.XX
XX.
..X
.XX
XXX
..X
X..
...
..X
X..
..X
..X
X..
.X.
..X
X..
.XX
..X
X..
X..
..X
X..
X.X
..X
X..
XX.
..X
X..
XXX
..X
X.X
...
..X
X.X
..X
..X
X.X
.X.
..X
X.X
.XX
..X
X.X
X..
..X
X.X
X.X
..X
X.X
XX.
..X
X.X
XXX
..X
XX.
...
..X
XX.
..X
..X
XX.
.X.
..X
XX.
.XX
..X
XX.
X..
..X
XX.
X.X
..X
XX.
XX.
..X
XX.
XXX
..X
XXX
...
..X
XXX
..X
..X
XXX
.X.
..X
XXX
.XX
..X
XXX
X..
..X
XXX
X.X
..X
XXX
XX.
..X
XXX
XXX
.X.
...
...
.X.
...
..X
.X.
...
.X.
.X.
...
.XX
.X.
...
X..
.X.
...
X.X
.X.
...
XX.
.X.
...
XXX
.X.
..X
...
.X.
..X
..X
.X.
..X
.X.
.X.
..X
.XX
.X.
..X
X..
.X.
..X
X.X
.X.
..X
XX.
.X.
..X
XXX
.X.
.X.
...
.X.
.X.
..X
.X.
.X.
.X.
.X.
.X.
.XX
.X.
.X.
X..
.X.
.X.
X.X
.X.
.X.
XX.
.X.
.X.
XXX
.X.
.XX
...
.X.
.XX
..X
.X.
.XX
.X.
.X.
.XX
.XX
.X.
.XX
X..
.X.
.XX
X.X
.X.
.XX
XX.
.X.
.XX
XXX
.X.
X..
...
.X.
X..
..X
.X.
X..
.X.
.X.
X..
.XX
.X.
X..
X..
.X.
X..
X.X
.X.
X..
XX.
.X.
X..
XXX
.X.
X.X
...
.X.
X.X
..X
.X.
X.X
.X.
.X.
X.X
.XX
.X.
X.X
X..
.X.
X.X
X.X
.X.
X.X
XX.
.X.
X.X
XXX
.X.
XX.
...
.X.
XX.
..X
.X.
XX.
.X.
.X.
XX.
.XX
.X.
XX.
X..
.X.
XX.
X.X
.X.
XX.
XX.
.X.
XX.
XXX
.X.
XXX
...
.X.
XXX
..X
.X.
XXX
.X.
.X.
XXX
.XX
.X.
XXX
X..
.X.
XXX
X.X
.X.
XXX
XX.
.X.
XXX
XXX
.XX
...
...
.XX
...
..X
.XX
...
.X.
.XX
...
.XX
.XX
...
X..
.XX
...
X.X
.XX
...
XX.
.XX
...
XXX
.XX
..X
...
.XX
..X
..X
.XX
..X
.X.
.XX
..X
.XX
.XX
..X
X..
.XX
..X
X.X
.XX
..X
XX.
.XX
..X
XXX
.XX
.X.
...
.XX
.X.
..X
.XX
.X.
.X.
.XX
.X.
.XX
.XX
.X.
X..
.XX
.X.
X.X
.XX
.X.
XX.
.XX
.X.
XXX
.XX
.XX
...
.XX
.XX
..X
.XX
.XX
.X.
.XX
.XX
.XX
.XX
.XX
X..
.XX
.XX
X.X
.XX
.XX
XX.
.XX
.XX
XXX
.XX
X..
...
.XX
X..
..X
.XX
X..
.X.
.XX
X..
.XX
.XX
X..
X..
.XX
X..
X.X
.XX
X..
XX.
.XX
X..
XXX
.XX
X.X
...
.XX
X.X
..X
.XX
X.X
.X.
.XX
X.X
.XX
.XX
X.X
X..
.XX
X.X
X.X
.XX
X.X
XX.
.XX
X.X
XXX
.XX
XX.
...
.XX
XX.
..X
.XX
XX.
.X.
.XX
XX.
.XX
.XX
XX.
X..
.XX
XX.
X.X
.XX
XX.
XX.
.XX
XX.
XXX
.XX
XXX
...
.XX
XXX
..X
.XX
XXX
.X.
.XX
XXX
.XX
.XX
XXX
X..
.XX
XXX
X.X
.XX
XXX
XX.
.XX
XXX
XXX
X..
...
...
X..
...
..X
X..
...
.X.
X..
...
.XX
X..
...
X..
X..
...
X.X
X..
...
XX.
X..
...
XXX
X..
..X
...
X..
..X
..X
X..
..X
.X.
X..
..X
.XX
X..
..X
X..
X..
..X
X.X
X..
..X
XX.
X..
..X
XXX
X..
.X.
...
X..
.X.
..X
X..
.X.
.X.
X..
.X.
.XX
X..
.X.
X..
X..
.X.
X.X
X..
.X.
XX.
X..
.X.
XXX
X..
.XX
...
X..
.XX
..X
X..
.XX
.X.
X..
.XX
.XX
X..
.XX
X..
X..
.XX
X.X
X..
.XX
XX.
X..
.XX
XXX
X..
X..
...
X..
X..
..X
X..
X..
.X.
X..
X..
.XX
X..
X..
X..
X..
X..
X.X
X..
X..
XX.
X..
X..
XXX
X..
X.X
...
X..
X.X
..X
X..
X.X
.X.
X..
X.X
.XX
X..
X.X
X..
X..
X.X
X.X
X..
X.X
XX.
X..
X.X
XXX
X..
XX.
...
X..
XX.
..X
X..
XX.
.X.
X..
XX.
.XX
X..
XX.
X..
X..
XX.
X.X
X..
XX.
XX.
X..
XX.
XXX
X..
XXX
...
X..
XXX
..X
X..
XXX
.X.
X..
XXX
.XX
X..
XXX
X..
X..
XXX
X.X
X..
XXX
XX.
X..
XXX
XXX
X.X
...
...
X.X
...
..X
X.X
...
.X.
X.X
...
.XX
X.X
...
X..
X.X
...
X.X
X.X
...
XX.
X.X
...
XXX
X.X
..X
...
X.X
..X
..X
X.X
..X
.X.
X.X
..X
.XX
X.X
..X
X..
X.X
..X
X.X
X.X
..X
XX.
X.X
..X
XXX
X.X
.X.
...
X.X
.X.
..X
X.X
.X.
.X.
X.X
.X.
.XX
X.X
.X.
X..
X.X
.X.
X.X
X.X
.X.
XX.
X.X
.X.
XXX
X.X
.XX
...
X.X
.XX
..X
X.X
.XX
.X.
X.X
.XX
.XX
X.X
.XX
X..
X.X
.XX
X.X
X.X
.XX
XX.
X.X
.XX
XXX
X.X
X..
...
X.X
X..
..X
X.X
X..
.X.
X.X
X..
.XX
X.X
X..
X..
X.X
X..
X.X
X.X
X..
XX.
X.X
X..
XXX
X.X
X.X
...
X.X
X.X
..X
X.X
X.X
.X.
X.X
X.X
.XX
X.X
X.X
X..
X.X
X.X
X.X
X.X
X.X
XX.
X.X
X.X
XXX
X.X
XX.
...
X.X
XX.
..X
X.X
XX.
.X.
X.X
XX.
.XX
X.X
XX.
X..
X.X
XX.
X.X
X.X
XX.
XX.
X.X
XX.
XXX
X.X
XXX
...
X.X
XXX
..X
X.X
XXX
.X.
X.X
XXX
.XX
X.X
XXX
X..
X.X
XXX
X.X
X.X
XXX
XX.
X.X
XXX
XXX
XX.
...
...
XX.
...
..X
XX.
...
.X.
XX.
...
.XX
XX.
...
X..
XX.
...
X.X
XX.
...
XX.
XX.
...
XXX
XX.
..X
...
XX.
..X
..X
XX.
..X
.X.
XX.
..X
.XX
XX.
..X
X..
XX.
..X
X.X
XX.
..X
XX.
XX.
..X
XXX
XX.
.X.
...
XX.
.X.
..X
XX.
.X.
.X.
XX.
.X.
.XX
XX.
.X.
X..
XX.
.X.
X.X
XX.
.X.
XX.
XX.
.X.
XXX
XX.
.XX
...
XX.
.XX
..X
XX.
.XX
.X.
XX.
.XX
.XX
XX.
.XX
X..
XX.
.XX
X.X
XX.
.XX
XX.
XX.
.XX
XXX
XX.
X..
...
XX.
X..
..X
XX.
X..
.X.
XX.
X..
.XX
XX.
X..
X..
XX.
X..
X.X
XX.
X..
XX.
XX.
X..
XXX
XX.
X.X
...
XX.
X.X
..X
XX.
X.X
.X.
XX.
X.X
.XX
XX.
X.X
X..
XX.
X.X
X.X
XX.
X.X
XX.
XX.
X.X
XXX
XX.
XX.
...
XX.
XX.
..X
XX.
XX.
.X.
XX.
XX.
.XX
XX.
XX.
X..
XX.
XX.
X.X
XX.
XX.
XX.
XX.
XX.
XXX
XX.
XXX
...
XX.
XXX
..X
XX.
XXX
.X.
XX.
XXX
.XX
XX.
XXX
X..
XX.
XXX
X.X
XX.
XXX
XX.
XX.
XXX
XXX
XXX
...
...
XXX
...
..X
XXX
...
.X.
XXX
...
.XX
XXX
...
X..
XXX
...
X.X
XXX
...
XX.
XXX
...
XXX
XXX
..X
...
XXX
..X
..X
XXX
..X
.X.
XXX
..X
.XX
XXX
..X
X..
XXX
..X
X.X
XXX
..X
XX.
XXX
..X
XXX
XXX
.X.
...
XXX
.X.
..X
XXX
.X.
.X.
XXX
.X.
.XX
XXX
.X.
X..
XXX
.X.
X.X
XXX
.X.
XX.
XXX
.X.
XXX
XXX
.XX
...
XXX
.XX
..X
XXX
.XX
.X.
XXX
.XX
.XX
XXX
.XX
X..
XXX
.XX
X.X
XXX
.XX
XX.
XXX
.XX
XXX
XXX
X..
...
XXX
X..
..X
XXX
X..
.X.
XXX
X..
.XX
XXX
X..
X..
XXX
X..
X.X
XXX
X..
XX.
XXX
X..
XXX
XXX
X.X
...
XXX
X.X
..X
XXX
X.X
.X.
XXX
X.X
.XX
XXX
X.X
X..
XXX
X.X
X.X
XXX
X.X
XX.
XXX
X.X
XXX
XXX
XX.
...
XXX
XX.
..X
XXX
XX.
.X.
XXX
XX.
.XX
XXX
XX.
X..
XXX
XX.
X.X
XXX
XX.
XX.
XXX
XX.
XXX
XXX
XXX
...
XXX
XXX
..X
XXX
XXX
.X.
XXX
XXX
.XX
XXX
XXX
X..
XXX
XXX
X.X
XXX
XXX
XX.
XXX
XXX
XXX
code-golf
ascii-art
graphical-output
combinatorics
grid
Filipe Teixeira
źródło
źródło
1
s i0
s są zastąpione przezX
i.
Odpowiedzi:
K, 11 bajtów
Przykład wyjściowy:
Jest to natywna, dość drukowana reprezentacja K listy macierzy, która moim zdaniem jest wystarczająca dla specyfikacji problemu. Każda matryca jest ograniczona załączonym zestawem nawiasów.
I szybkie sprawdzenie poczytalności w celu wykazania, że skonstruowano 512 matryc:
Bardzo proste. Większość pracy znajduje się w
!
. Najpierw generujemy 9-metrowy wektor 2s za pomocą „take” (9#2
). Następnie wykorzystujemy monadyczną formę „licznika przebiegu”!
- kilka przykładów ilustruje jej zachowanie:Następnie po prostu wykonaj przekształcenie 3x3 (
(3 3#)
) każdego ('
) z wektorów 0/1 o długości 9.źródło
Mathematica, 25 bajtów
Daje tablicę ze wszystkimi siatkami jako obrazy, która jest również wyświetlana bezpośrednio na ekranie:
(Przycięte, aby niepotrzebnie wysadzić posta.)
źródło
JavaScript, 77
80Zmienione po aktualizacji PO. Teraz mamy pytanie, więc oto odpowiedź.
Uruchom fragment w dowolnej przeglądarce, aby go przetestować.
Stary post: wyświetlanie graficzne w przeglądarce, z javascript i płótnem. ~ 300 bajtów kodu (może być skrócony).
Uruchom fragment kodu poniżej.
źródło
(ES6)
, możesz zamienić na.join('\n')
.join '' (dosłowna nowa linia, nie spacja ... głupie formatowanie komentarzy), aby zaoszczędzić 3 bajtyMatlab, 33
To trochę dziwne, aby uzyskać prawidłowe wymiary, ale jestem bardzo zadowolony z wyniku!
źródło
POWERSHELL - 65
wynik
potwierdzenie
edycja zainspirowana wyświetlaniem wyników odpowiedzi matematycznej-617
źródło
Python 2, 49 bajtów
Podziel binarne rozszerzenie
i
. Używane są wartości binarne o długości -10 od 512 do 1023, odcinające początkową wartość 1 (i prefiks0b
). Są one podzielone na kawałki 3, jak okna[3:6]
,[6:9]
,[9:12]
, i[12:15]
, z ostatnim jednego wykroju do pustego wiersza. Iteracja po czterech odcinkach jest zwinięta z zewnętrzną pętlą liczącą 512 liczb za pomocą sztuczki divmod.źródło
CJam, 12 bajtów
Sprawdź to tutaj.
Używa
0
i1
jako odrębne znaki.Wyjaśnienie
Alternatywnym (wciąż 12-bajtowym) rozwiązaniem jest
źródło
Rubinowy, 86 bajtów
Wydruki drukuj z cudzysłowami, ponieważ
p
są one krótsze niżputs
, ale nadal pasują do reguł.źródło
Haskell,
5754 bajtówf
daje taki sam wynik jak w opisie wyzwania, tzn. zaczyna się odEdycja: @ Mauris znalazł 3 bajty do zapisania. Dzięki!
źródło
r x=sequence[x,x,x]
robi to samo i jest krótszy.C # - 111
Konwertuje każdą liczbę całkowitą na jej reprezentację binarną i dzieli co 3 znaki.
źródło
Python 2, 95 bajtów
Odrębnymi znakami są
0
i1
, każdy blok jest oddzielony\n\n
.źródło
Python 2, 81
źródło
Rubin, 92 bajty
Liczy się
0
si1
si, a każdy blok jest oddzielony pustą linią (\n\n
)źródło
Rubinowy, 68 bajtów
Drukuje dokładnie taki sam wynik jak w przykładzie podanym w pytaniu
źródło
tr
, produkcja0
i1
jest w porządku. Jeszcze kilka sugestii512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}
50 bajtów.Python 3, 80 bajtów
Udało mi się kogoś ogłuszyć :)
źródło
i=512
newlinewhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
PHP, 55 bajtów
wykorzystuje
0
i1
. Uruchom z-r
.źródło
Pyth, 11 bajtów
Wypróbuj tutaj!
Dzięki @Jakube :)
źródło
Python 2 , 56 bajtów
Wypróbuj online!
Zwraca 512 konfiguracji jako obiekt ustawiony w pythonie. Odwołaj się do wersji bez golfa, aby zwiększyć czytelność danych wyjściowych.
Wersja bez golfa, aby dane wyjściowe były bardziej czytelne:
Python 2 , 121 bajtów
Wypróbuj online!
źródło
C - 97 bajtów
Zasadniczo drukuje przykładowe dane wyjściowe z pierwotnego pytania.
źródło
Swift 2, 92 bajty
Int do ciągu binarnego w Swift zajmuje zbyt wiele znaków, więc używam tylko dwóch zagnieżdżonych pętli ...
źródło
Prolog (SWI), 98 bajtów
Wyjście to lista macierzy 3x3 zawierających elementy 0 i 1.
Tłumacz online
Wydaje mi się, że generowanie macierzy może być krótsze.
Powinno być możliwe zmieszczenie między nimi w forallu lub czymś podobnym, ale nie mogę zrozumieć, jak to zrobić.
Docenione wskazówki golfowe.
źródło
Perl,
5655 bajtówWydajność:
źródło
Python 3,
123121109103 bajtówOto mój stary:
A oto mój nowy:
To drukuje dodatkowe znaki, ale OP powiedział, że grafika ASCII jest dozwolona, co oznacza, że wiele znaków jest w porządku.
źródło
Python 3, 74 bajty
Tylko trochę krótszy niż odpowiedź Destructible Lemon
źródło
Perl, 52 bajty
lub 54 bajty:
lub Perl 5.14+, 48 bajtów:
źródło
Galaretka , 17 bajtów (niekonkurencyjna)
Wypróbuj online!
Zastosowania
01
. Z powodu błędu⁾
musiałem uży擶¶
zamiast⁾¶¶
, ponieważ w przeciwnym razie zamiast dwóch nowych linii, dwa pilcrows pojawiłyby się na wyjściu. Jak widać, nie kosztowało mnie to wcale bajtów.K bije to, więc to trzeba jeszcze pograć w golfa.
źródło
05AB1E , 15 bajtów (niekonkurujące)
Wypróbuj online!
źródło
J , 27 bajtów
Wypróbuj online!
źródło
echo _3]\"1#:i.512
.Tcl , 72 bajty
Wypróbuj online!
źródło
Python 2 , 114 bajtów
Wypróbuj online!
źródło