У вас есть сетка 3х3. Каждая ячейка может быть окрашена в черный или белый цвет. Показать все 512 из этих раскрасок. Побеждает несколько байтов.
Вы можете отображать сетки в любом пласте, если они визуально разделены и интервал выглядит равномерным. Вы можете использовать ASCII art или изображения. Любые два различных видимых символа или цвета могут использоваться для черного и белого. Любой пробел в порядке, если результат визуально правильный.
Пример вывода:
...
...
...
...
...
..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
Филипе Тейшейра
источник
источник
1
s и0
s заменяютсяX
и.
Ответы:
К, 11 байт
Пример вывода:
Это нативное печатное представление K списка матриц, которое, я думаю, достаточно для спецификации задачи. Каждая матрица ограничена набором круглых скобок.
И быстрая проверка работоспособности, чтобы продемонстрировать, что построено 512 матриц:
Очень просто. Большая часть работы в
!
. Сначала мы генерируем 9-длинный вектор 2 с помощью take (9#2
). Затем мы используем монадическую форму одометра!
- несколько примеров иллюстрируют ее поведение:Затем просто сделайте 3x3 reshape (
(3 3#)
) каждого ('
) из 0/1 векторов 9-длины.источник
Mathematica, 25 байтов
Предоставляет массив со всеми сетками в виде изображений, который также непосредственно отображается на экране:
(Обрезается, чтобы не взрывать столб без необходимости.)
источник
JavaScript, 77
80Пересмотрено после пересмотра ФП. Теперь у нас есть вопрос, так что вот ответ.
Запустите фрагмент в любом браузере для проверки.
Старый пост: графическое отображение в браузере, с javascript и canvas. ~ 300 байт кода (можно сделать короче).
Запустите фрагмент ниже.
источник
(ES6)
, вы можете заменить.join('\n')
на .join` `(буквальный перевод строки, а не пробел ... глупое форматирование комментариев), чтобы сохранить 3 байтаМатлаб, 33
Было довольно сложно получить правильные размеры, но я очень доволен результатом!
источник
ПОРОШОК - 65
результат
подтверждение
редактировать, вдохновленный отображением результатов Mathematica ответа-617
источник
Python 2, 49 байт
Разбить двоичное расширение
i
. Используются двоичные значения длины-10 с 512 по 1023, которые обрезают начальный 1 (и префикс0b
). Они разбиты на куски 3 , как окна[3:6]
,[6:9]
,[9:12]
, и[12:15]
, с последним один пробел , чтобы сделать пустую строку. Итерация по четырем слайсам сводится к внешнему циклу подсчета 512 чисел с помощью трюка divmod.источник
CJam, 12 байт
Проверьте это здесь.
Использует
0
и1
как отличительные знаки.объяснение
Альтернативное (все еще 12-байтовое) решение
источник
Рубин, 86 байт
Мой печатает с кавычками, потому что
p
корочеputs
, но он все еще соответствует правилам.источник
Haskell,
5754 байтаf
выдает тот же результат, что и в описании вызова, т. е. начинается сРедактировать: @Mauris нашел 3 байта для сохранения. Благодарность!
источник
r x=sequence[x,x,x]
делает то же самое и короче.C # - 111
Преобразует каждое int в его двоичное представление и разбивает каждые 3 символа.
источник
Python 2, 95 байт
Отличительными символами являются
0
и1
, каждый блок отделяется\n\n
.источник
Python 2, 81
источник
Рубин, 92 байта
Рассчитывает в
0
s и1
s, и каждый блок отделяется пустой строкой (\n\n
)источник
Рубин, 68 байт
Выводит точно такой же вывод, как в примере, приведенном в вопросе
источник
tr
, вывод0
и1
нормально. Еще несколько предложений512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}
50 байтов.Python 3, 80 байт
Мне удалось кого-то обойти :)
источник
i=512
символ новой строкиwhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
PHP, 55 байт
использует
0
и1
. Беги с-r
.источник
Pyth, 11 байт
Попробуй это здесь!
Спасибо @Jakube :)
источник
Python 2 , 56 байт
Попробуйте онлайн!
Возвращает 512 конфигураций как набор объектов в Python. Обратитесь к разглаженной версии, чтобы сделать вывод более читабельным.
Ungolfed версия, чтобы сделать вывод более читабельным:
Python 2 , 121 байт
Попробуйте онлайн!
источник
C - 97 байт
В основном выводит пример вывода из исходного вопроса.
источник
Swift 2, 92 байта
Int для двоичной строки в Swift занимает слишком много символов, поэтому я просто использую два вложенных цикла ...
источник
Пролог (SWI), 98 байт
Выход - список матриц 3х3, содержащий элементы 0 и 1.
Онлайн переводчик
Я чувствую, что поколение матриц может быть короче.
Должна быть возможность вписать что-то между ними в нечто похожее, но я не могу понять, как это сделать.
Гольф советы приветствуются.
источник
Perl
5655 байтВыход:
источник
Python 3,
123121109103 байтовВот мой старый:
И вот мой новый:
Это печатает дополнительные символы, но OP говорит, что ASCII-арт разрешен, что подразумевает, что несколько символов в порядке.
источник
Python 3, 74 байта
Чуть короче, чем ответ Разрушаемого Лимона
источник
Perl, 52 байта
или 54 байта:
или Perl 5.14+, 48 байт:
источник
Желе , 17 байт (не конкурирует)
Попробуйте онлайн!
Использует
01
. Из-за ошибки в⁾
, я должен был использовать“¶¶
вместо⁾¶¶
, потому что в противном случае, вместо двух новых строк, две выходные строки появились бы в выводе. Однако, как вы можете видеть, это не стоило мне никаких байтов.K превосходит это, так что это должно быть дальше в гольфе.
источник
05AB1E , 15 байтов (не конкурирует)
Попробуйте онлайн!
источник
J , 27 байт
Попробуйте онлайн!
источник
echo _3]\"1#:i.512
.Tcl , 72 байта
Попробуйте онлайн!
источник
Python 2 , 114 байт
Попробуйте онлайн!
источник