Цель состоит в том, чтобы написать программу (что угодно, кроме явного мозгового потрясения), которая печатает лучшее правило Барни Стинсона :
Новое всегда лучше.
если интерпретировать нормально, но
Леген ... подожди ... Дэрри!
При обработке с переводчиком Brainfuck.
Пусть победит самый популярный братан. У вас есть 72 часа, чтобы стать легендарным.
popularity-contest
polyglot
brainfuck
Томас Аюб
источник
источник
code-golf
это лучший тег для этой задачи. ИМХОpopularity-contest
было бы лучше.Ответы:
C #
Поэтому я решил стать немного более ... креативным с моей записью. Код Brainfuck встраивается в C # как различные операторы (не в комментариях и не в жестко закодированных строках), тогда как сам код C # работает по принципу, аналогичному тому, как Brainfuck печатает символы (это означает, что нет жестко закодированных строк, и C # генерирует каждый из них). отдельный символ как целое число затем преобразует его в символ при печати).
Я уверен, что мог бы сделать это более элегантно, но мне потребовалось достаточно много времени, чтобы закончить, как есть.
Все было проверено на этом интерпретатор JavaScript Brainfuck по Cal Хендерсон и с визуальной Studo 2012 - х C # компилятор (ориентированных на .NET Framework v4.0).
Это оригинальный код Brainfuck, который я написал для этой задачи:
При запуске кода C # через интерпретатор Brainfuck вы получаете следующие команды (обратите внимание на добавление квадратных скобок в начале, они взяты из объявления массива и ничего не делают, поскольку ячейка под указателем памяти в массив уже будет 0):
источник
Болтовня
введите в рабочую область и нажмите «doIt», или отправить в BF. БФ украден у других постеров - спасибо.
источник
Javascript / Brainfuck
Ungolfed версия, так как это не соревнование по коду-гольфу:
Это был повод для меня изучить BF, и это было забавно :)
Сложность заключалась в том, чтобы никогда не использовать
,
BF, интерпретирующий его как ввод данных пользователем, и быть уверенным, что байт равен 0, прежде чем использовать его[]
для доступа к элементам массивов.Кодировка JS довольно проста: каждая строка перед
/
кодированием символа и каждая длина строки перед@
определением кода ASCII в десятичном виде. (+++++++@++++[>++@
=78
=N
)Вы можете проверить Brainfuck здесь: http://copy.sh/brainfuck/
источник
Кубический ( TIO ) / BF ( TIO )
(Обновлено 8/4/17 для учета языковых изменений в Кубе)
По сути, он просто использует столько символов из программы BF, сколько может в программе Cubically, а затем вставляет в конец остальную часть программы BF. Нет необходимости принудительного завершения с
&
/E
в программе Cubically.источник
Python / BrainF ** k, 362 символа
Код BrainF ** k взят из удаленного ответа Климента Рено.
Редактировать - начальный нулевой символ больше не печатается.
Использует очень простой трюк -
|
символы были добавлены в программу BF, а расстояния между ними кодируют строку, напечатанную на Python. Код Python в основном игнорируется BF.источник
.join
добавил.
, но не увидел никакого вреда (потому что\0
невидим). Это+
и.split
в порядке - я удалил символы из оригинала.