Ниже приведена (схематическая) цифровая временная диаграмма для логического элемента XNOR .
┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐
A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐
B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └
┌─────┐ ┌─┐ ┌─┐ ┌───┐
X ──┘ └───┘ └───┘ └───┘ └────
Ваша цель состоит в том, чтобы воспроизвести это точно так, как изображено.
Правила:
Вы можете либо распечатать его, либо вернуть многострочную строку;
Допускается произвольное количество переходов и / или начальных переносов;
Разрешается использовать пробел (но не ведущий!);
Если вы не можете использовать расширенные символы рисования блоков ASCII, вы можете заменить их эквивалентами Юникода (без потери байтов).
Это код-гольф, поэтому выигрывает самый короткий ответ в байтах.
Бинарное Представление
Для вашего удобства двоичное представление диаграммы выше выглядит следующим образом:
INP A=0101011101010110
INP B=1101101011100101
___
X=A⊕B=0111001001001100
Пример вывода
Примечание
Работая над этим вопросом, я реализовал для него два разных решения bash, одно из которых имеет длину 122 символа / байт (как показано выше), а другое - ровно 100 байт.
Я не планирую публиковать их (поскольку я обычно не публикую ответы на свои вопросы), так что это просто для справки.
Я также считаю, что, по крайней мере, возможны решения, не превышающие 100 байт.
Ответы:
05AB1E , 101 байт
+ 5байтUTF-8 = 116 байтов всего =106 байт(ВЕРСИЯ LEGACY 05AB1E, НЕ ДОЛЖНА НА TIO)
Попробуйте онлайн!
Сжатие:
Конверсия:
Использование кодировки CP-1252 .
источник
Åв
(я также обновил совет генератора ASCII-art с этим): 106 байтЖевательная резинка , 76 байт
Попробуйте онлайн!
Используются символы рисования прямоугольников из альтернативного набора символов VT100, которые TIO не может продемонстрировать. Запустите в терминале UNIX для достижения наилучших результатов. Мой терминал преобразует ACS в UTF-8 при копировании и вставке, так что вы можете увидеть эффект здесь.
Ну, вызов не сказал, что мы должны вывести терминал из режима ACS, прежде чем вернуться в оболочку. Удачи с этим.
источник
Рубин, 113 байт
считать напечатанные символы одним байтом в соответствии с разрешением задачи (я был удивлен, обнаружив, что на самом деле это 3 байта).
6 строк вывода поддаются кодированию 6 битов на каждый символ магической строки. Но символы магической строки фактически кодируют для каждого перехода таким образом:
Это декодируется, чтобы найти 2 символа, которые должны быть напечатаны для каждого перехода (первый из которых - либо пробел, либо горизонтальная линия). 8-символьные строки для верхнего и нижнего рядов перекрываются: последние два символа для верхнего ряда
11
две горизонтальные линии, что соответствует тому, что необходимо для первых двух символов нижнего ряда00
. 8 символов для нижнего ряда переносятся: это последние 6 и первые 2 символа строки символов.Код без правил
источник
If you can not use the extended ASCII box-drawing characters, you may substitute them for the unicode equivalents (at no byte penalty)
Мы все оценили наши ответы в соответствии с правилами.PowerShell, 255 символов, 265 байтов (UTF-8)
Это работает на моем компьютере, но, похоже, неправильно анализирует байты на TIO ...
Это
$a
будет многострочная строка, заполненная числами и пробелами, затем циклы0..4|%{...}
. На каждой итерации мы получаем-replace
соответствующую цифру$_
с соответствующим символом'┌─┐┘└'[$_]
и сохраняем ее обратно$a
. Затем мы просто оставляем$a
на конвейере и вывод неявный.источник
JavaScript (ES6),
163158154 байтаNB: подсчет символов UTF-8 в байтах в соответствии с разрешением задачи.
демонстрация
Показать фрагмент кода
Сохранено 4 байта благодаря Нейлу
источник
j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]
экономит 3 байта.C
213205 байтовДля разнообразия, размер программы на C в этом случае не совсем смешной по сравнению с другими языками.
Разобравшись, определите расширенный и прокомментируйте:
Примечание: строка C не должна содержать символы Юникода. Все отображаемые символы должны быть обычными старыми 8-битными символами (но они могут быть выбраны в расширенном диапазоне). В общем, достоверность вывода зависит от вашей кодовой страницы.
источник
tcl, 221 символ, 299 байтов
можно запустить на: http://rextester.com/live/VVQU99270
источник