Ваша задача - вывести точную строку
The Jabberwocky
без ввода. Применяются нормальные правила ввода и вывода, поэтому разрешены как функции, так и программы.
Конечно, есть улов, без улова было бы весело. Ваша программа, если в ней отсутствуют неалфавитные символы, должна начинать поэму «Jabberwocky» (без учета регистра). Чтобы начать стихотворение, оно должно быть непрерывной подстрокой стихотворения, начинающейся в начале. Пустая строка в порядке (хотя вы, вероятно, не очень хорошо забиваете).
Вот текст для справки:
twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebewarethejabberwockmysonthejawsthatbitetheclawsthatcatchbewarethejubjubbirdandshunthefrumiousbandersnatchhetookhisvorpalswordinhandlongtimethemanxomefoehesoughtsorestedhebythetumtumtreeandstoodawhileinthoughtandasinuffishthoughthestoodthejabberwockwitheyesofflamecamewhifflingthroughthetulgeywoodandburbledasitcameonetwoonetwoandthroughandthroughthevorpalbladewentsnickersnackheleftitdeadandwithitsheadhewentgalumphingbackandhastthouslainthejabberwockcometomyarmsmybeamishboyofrabjousdaycalloohcallayhechortledinhisjoytwasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabe
Вот программа, которую вы можете использовать для проверки этого свойства.
Если у вас закончились стихотворения, вы не можете использовать никаких дополнительных буквенных символов.
Буквенные символы являются символами a
- z
и A
- Z
вот полный список:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
счет
Ваша программа будет оцениваться по количеству не алфавитных байтов, используемых при меньшем числе лучших.
Вот программа на Haskell, которая оценивает ответы. (Предполагается, что входные данные действительны)
Пример программы
Следующая программа будет действительной:
twas&*brilliga77812nd Thesli thyt Oves didgy reand Gim bleinth ewab eal lmims ywe""""""""
ret h eb or o g o ve sa n dthemomerAthsoutgrabebewaretheJABBERWOCKmysonthe)(*)()((*98980908(()*(jawsthatbit
Если разделить до буквенных символов, это:
twasbrilligandTheslithytOvesdidgyreandGimbleinthewabeallmimsyweretheb orogovesandthemomerAthsoutgrabebewaretheJABBERWOCKmysonthejawsthatbit
Что соответствует первому биту стихотворения (без учета регистра).
Эта программа набрала бы 59 баллов, потому что она содержит не алфавитные символы:
&*77812 """"""""
)(*)()((*98980908(()*(
источник
Jabberwocky
(без статьи), а зверя -the Jabberwock
(без -y ). Конечно, вы не можете изменить требуемый вывод сейчас, но ...Ответы:
oOo CODE , оценка 0
Спасибо Деннису за то, что он поиграл в код Brainfuck.
Попробуйте онлайн!
У меня плохие новости для этого вызова ... :(
oOo CODE - это просто двоичная кодировка brainfuck, которая использует регистр букв для каждого бита. Так что да, поскольку стихотворение достаточно длинное (или достаточно короткое), чтобы охватить программу Brainfuck, которая печатает
The Jabberwocky
(фактически не пытаясь играть в гольф), это становится тривиальным оптимальным ответом.источник
С, оценка
1047974Спасибо @gastropner за снижение показателя до 79 и благодаря @ wizzwizz4 за дальнейшее снижение до 74!
Попробуйте онлайн!
источник
//abcdefgh\n
бы на 1 персонажа меньше, чем/*abcdefgh*/
?Деление 2 , оценка 3
Попробуйте онлайн!
объяснение
Мы можем игнорировать большинство строчных букв, они просто устанавливают энергию атома на их кодовую точку.
Верхний регистр
R
- это точка входа в программу, так как она создает правильный атом. Как я уже сказал, мы можем игнорироватьe
. Затем"
переключает строковый режим, который просто печатает все символы, с которыми он сталкивается, в STDOUT, что дает намThe Jabberwock
. Это только оставляетy
. Мы могли бы использоватьy
тот, который появится немедленноy
, но тогда нам пришлось бы тратить хотя бы один небуквенный байт на печать it (!
) и, возможно, другой на завершение программы.Вместо этого мы терпеливо ждем,
y
чтобы сразу же появитьсяo
в стихотворении. Потому что это позволяет нам использовать то,O
что печатает символ и уничтожает атом, завершая программу. Таким образом, нам нужны только не буквенные символы - пробел и две кавычки.источник
Алиса , оценка 7
Попробуйте онлайн!
Это
/
заставляет IP двигаться по диагонали и отскакивать от краев, так что фактически выполняемые инструкции"The "ono@
. Командаn
(в обычном режиме) выталкивает строку «Jabberwocky», если вершина стека пуста, иo
выводит вершину стека.источник
Желе , оценка
64Полная программа, печатающая результат
(в виде монадической ссылки печатается
The Jabberwock
как побочный эффект и возвращает символy
)Вставляет символы
“ ””
в префикс префикса стихотворения.Это работает, потому что:
Последнее ,
h
прежде чемSOUTGRABEBEWARE“The Jabberwock”m”y
(по крайней мере , на момент написания!) Неопределенный атом, который делает все , что стало новым звеном , которое принимает данные по умолчанию0
и выполняют некоторые функции монадических,SOUTGRABEBEWARE
, что выход1
(см . Ниже)1“The Jabberwock”m
затем выполняетm
, по модулю нарезку,"The Jabberwock"
с размером среза1
, уступая"The Jabberwock"
.Трейлинг
”y
- это новая ведущая цепочка констант, поэтому Jelly печатает этот список символов, а затем возвращает символy
, и, поскольку теперь это конец программы, он печатается.Предыдущие 6 байтов:
Попробуйте онлайн!
Шесть не-стихотворных персонажей плюс новая строка
“ ”1“
.Альтернатива 6s:
источник
m1“y
? Это все еще печатаетThe Jabberwock
и начинается с подмножества стихотворенияm1“y
(или это может бытьm1”y
) необходимо, потому что мы должны печататьThe Jabberwocky
, а неThe Jabberwock
.Древесный уголь , оценка 3
Попробуйте онлайн!
Вставлены три символа:
⎚ ⌈
... это также работает со всем стихотворением .
Как?
источник
Рубин (
-p
), оценка 12Попробуйте онлайн!
Злоупотреблять всеми комментариями!
С
-p
флагом ruby будет печатать все, что хранится в$_
. Требуется одна строка любого ввода.источник
-p
здесь, из-за необходимой строки ввода. «Ваша задача - вывести точную строкуThe Jabberwocky
без ввода».-p
- это флаг командной строки, а не ввод.Древесный уголь , оценка:
54Попробуйте онлайн! Редактировать: 1 байт сохранен благодаря @ ASCII-only. Объяснение: переводится в следующий подробный код:
источник
Фу , оценка 5
Попробуйте онлайн!
источник
> <> , Оценка:
1312Попробуйте онлайн!
Проверка и оценка .
Немедленно перенаправляет на вторую строку, которая толкает «Jabberwockmy» обратно в стек.
$~
выталкивает лишнееm
и>ro<
печатает весь стек, обращая его заранее.источник
Retina 0.8.2 , оценка:
212018161386Попробуйте онлайн! Редактировать: счет уменьшен на 2 благодаря @MartinEnder.
источник
*
вместо$*
).С, оценка 23
Попробуйте онлайн!
источник
Ябасич , 13
Спасибо за ответ @ Pavel's Ruby!
Попробуйте онлайн!
источник
VBA, оценка 5
Запустите в немедленном окне:
Как это работает:
-
-
-
-
-
1 знак вопроса, 1 пробел и 3 двойные кавычки. VBA видит это как
?"" & "The Jabberwock" & "" & "y"
или?"The Jabberwocky"
источник
Хаскелл , оценка 12
Попробуйте онлайн!
Определяет функцию нулевого аргумента
twasbrilligandtheslithytovesdidgyreandgimbleinthewabeallmimsyweretheborogovesandthemomerathsoutgrabebeware :: String
, выход которого"The Jabberwocky"
.источник
Java (OpenJDK 9) , оценка 11
Попробуйте онлайн!
кредиты
источник
()
наt
(неиспользуемыйVoid
нулевой параметр) и удалив ведущуюt
из комментария.<s>16</s> 14
я предпочитаю, как всегда в любой сети StackExchange, чтобы дать окончательный ответ. Сами изменения перечислены на странице редакции , что позволяет каждому увидеть фактические изменения и то, как ответ изменился с течением времени, а не помещать всю прошлую и текущую информацию в один большой нечитаемый пост.PowerShell , Оценка:
1910Попробуйте онлайн!
Порт Павла Рубиновый ответ . Спасибо Джо Кингу за -9 баллов.
Строки соединяются
+
вместе. После удаления комментариев и анализа кода PowerShell видит это как'The Jabberwock'+'y'
. Эта строка остается в конвейере и вывод неявный.источник
The
иJabberwock
в одну строку? Попробуйте онлайн!Желе , оценка: 8
Попробуйте онлайн!
Просто сжимает строку и является пустой строкой, когда удаляются все не алфавитные символы. Раздражает, самая короткая сжатая форма,
“81Iȯd»
имеет алфавитные символы, ни один из которых не являетсяt
илиw
источник
Stax , 11
Запускать и отлаживать онлайн!
Просто сжатый строковый литерал, который в свою очередь упакован.
источник
05AB1E , оценка 14
Попробуйте онлайн!
источник
Холст , оценка 5
Попробуй это здесь!
источник
SOGL V0.12 , оценка 9
Попробуй здесь!
источник
Пип , оценка 5
Попробуйте онлайн!
К счастью, строчные буквы в Pip - это все переменные, которые сами по себе не являются выражениями. Интересная часть кода:
Сканер ломается,
OOD
какO
следуетOD
.OD
является неопределенной переменной, которая оценивается как ноль (Falsey); Затем мы логически - или это с"The Jabberwock"
, иO
выводит его без перевода строки.Односимвольная строка
y
. Поскольку это последнее выражение в программе, оно печатается.источник
SmileBASIC, оценка 10
Это было в значительной степени взято непосредственно из ответа Yabasic, и,
поскольку SB - лучший язык,мы можем сократить его, используя метки, а не комментарии, что устраняет необходимость некоторых разрывов строк.Существует также это альтернативное решение для того же размера:
Метка внутри выражения обрабатывается как строка. (
@my == "@my"
), поэтому взятие символа 2 дает «у».источник
C (gcc) , оценка 58
Полезный факт, что комментарии в стиле // + новые строки дешевле, чем в старом стиле, взяты из комментария @ wizzwizz4 для ответа @ Steadybox .
Флаг -m32 обязателен.
Некоторых можно привести в смятение из-за длинного имени вызываемой функции, в то время как другие могут по праву счесть такие возражения бесполезными; в конце концов, мы все должны прислушаться к песне сирены с низкими баллами.
Попробуйте онлайн!
источник
Партия, оценка
1511В основном только
echo The Jabberwocky
с неиспользованными переменными и метками.Старая версия (оценка 24):
Требуется, чтобы код был сохранен в файле с именем
n.bat
и запущен из того же каталога.Альтернативная версия, которая может иметь любое имя (оценка 27):
Пояснение (с удаленными переменными):
источник
Perl 5, подпрограмма, оценка 11
но с символом \ x86 (
v134
) вместо X.(perlsub говорит: «Подпись является частью тела подпрограммы. Обычно тело подпрограммы представляет собой просто блок кода в скобках».)
источник
y
?Ruby , 9 байтов без буквы
Попробуйте онлайн!
Гольф версия (для удобства чтения):
Использует несколько длинных и бесполезных переменных. В ruby вы можете поместить
whatever_you_want=
перед выражением, и оно все равно будет возвращать это выражение, только с побочным эффектом создания переменной со странным именем.источник
Самомодифицирующийся Brainfuck , оценка 16
Попробуйте онлайн!
объяснение
Изначально лента настроена так:
<[<<]
>
[.>]
>>.
источник
Деление , оценка 6
Попробуйте онлайн!
источник