Напишите квинну , состоящую из настоящих английских слов, разделенных пробелами. «Слово» определяется как строка, содержащая только строчные и прописные буквы ( /[a-zA-Z]+/
в регулярном выражении). Чтобы быть «реальным», ваше слово должно быть признано официальным словарем Scrabble .
Я использую словарь Эрудит, так как он дает четкий ответ о том, что является, а что нет. Слишком много серых областей с обычным словарем. Обратите внимание, что «A» и «I» (не говоря уже о «quine») не являются допустимыми словами скрэббл.
Поскольку написание квинны только с использованием букв и пробелов практически невозможно в большинстве языков программирования, у вас есть возможность заменить одиночные пробелы между словами выбранным вами символом. У вас также есть возможность добавить символы в начале первого слова и в конце последнего слова. Эти добавленные символы могут быть чем угодно (включая символы новой строки и не-ASCII), кроме букв (az, AZ) . Существует штраф за их добавление (см. Оценка).
Детали
- Как обычно, квины не могут читать или получать доступ к своему исходному коду. (Я бы сказал, что команда Q HQ9 + нарушает это.)
- Вывод должен идти в стандартный вывод или аналогичную альтернативу. Там нет ввода.
- Слова не должны быть написаны с заглавной буквы правильно. Они могут иметь заглавные и строчные буквы где угодно. Последовательность слов не должна иметь никакого смысла.
- Ни одно слово не может быть использовано более 3 раз в вашей программе. Слова с разной заглавной буквой - это одно и то же слово (например, «DOG», «собака» и «dOg» - это одно и то же слово).
- Использование таких языков, как PHP или HTML, которые могут просто отследить их содержимое, считается тривиальной лазейкой и недопустимо.
- Программа должна содержать хотя бы одно слово.
счет
Ваша оценка - это количество "реальных слов" в вашей программе плюс эти штрафы:
- +1 за каждый пробел, который был заменен другим персонажем
- n n для каждых n символов, которые вы добавили перед первым словом (да, это n в степени n)
- n n для каждого n символов, которые вы добавили после последнего слова
Например, программа
We all LIKE PROgraMmING
набрал бы 4, потому что он содержит 4 слова; никакие символы не были добавлены или заменены пробелами. Это вывод, конечно, будет We all LIKE PROgraMmING
.
Программа
!We@all LIKE#PROgraMmING- =
набрал бы 4 + 2 + 1 + 27 = 34; 4 для слов, 2 для замененных пробелов, 1 для !
спереди и 27 для - =
в конце. Это вывод, конечно, будет !We@all LIKE#PROgraMmING- =
.
Самый низкий балл побеждает. Tiebreaker идет к ответу с наименьшим количеством штрафных очков. Если еще есть ничья, победит ответ с наибольшим количеством голосов.
источник
Ответы:
golfscript, 8 слов + 8 символов =
2016 (3?)Слова - просто наполнитель, ядро - крошечное ядро:
Дублирует и оценивает функцию, которая просто добавляет инструкции для дублирования и оценивает себя. Когда функция печатается, она автоматически выравнивается. Это самая маленькая сосна, которая что- то делает .
Или мы можем просто использовать функциональный литерал, который никогда не будет оценен. Но это похоже на обман ...
источник
{a`b"x.y~z"c}x.y~z
{whatever}
это нарушило бы слишком тривиальное правило («Использование языков, таких как PHP или HTML, которые могут просто отследить их содержимое, считается тривиальной лазейкой и недопустимо».)> <> , 25 слов + (22 + 1 1 + 1 1 ) дополнительно =
5749О боже, мой мозг
Так как в правилах указано «Нет ввода.», Чтобы эта программа работала, вам нужно передать в пустой файл.
Ах да,
brr
это правильное слово Эрудит, какtsktsk
иpfft
.объяснение
Прежде всего, следующие слова не имеют отношения к делу:
Это из-за двух причин:
abcdefl
нажмите цифры (10, 11, 12, 13, 14, 15 и длину стека соответственно). Кроме того,i
нажимает -1, если EOF встречается, видя, что нет ввода.p
выскакивает три символаv,y,x
и местаv
на позицииx,y
.Да,> <> позволяет изменять исходный код на лету! Мы на самом деле не используем это, так как нам нужно только
p
для сования.Если мы избавимся от этих запретов, мы получим:
Аналогичным образом,
laced app
частьplaced apple
иe alp
частьapple alp
также являются no-ops, а therr
ofbrr
просто дважды обращает стек, который мы также можем удалить:Наконец, что-то похожее на обычную> <> программу! Идея состоит в том, чтобы использовать стандартную> <> quine, которая работает так:
'
строка запускает разбор строки, толкая каждый встреченный символ, пока мы не нажмем'
'
снова приземляемся на начальное и прекращаем разбор строки. В результате мы поместили каждый символ в программе (кроме начального'
) в стек.Затем происходит следующее:
источник
i
.Цыпленок , 1 слово
Я обычно не в esolangs, но этот, казалось, идеально подходит для этого. Я думаю, что это настоящая сущность
Толкает 1 курицу в стек. Стек затем отображается.
источник
R, 2 слова + 1 замена + 1¹ трейлинг = 4
Объекты, которые ни к чему не привязаны, просто выводятся на стандартный вывод. Поскольку выражение является объектом, следующий код печатает сам себя:
Предыдущее представление, 5 баллов:
источник
Python 2, 58 = 37 слов + 21 знак препинания
Добавлены некоторые новые строки:
Три варианта использования для каждого слова сделали его трудным для написания. Я хотел использовать строку со всем кодом более 3 раз, и каждая строка должна была быть изолирована
if else and or
операторами, которых у меня было только ограниченное количество.источник
Юлия, 1 слово + 1¹ перед = 2
У Юлии есть объекты, называемые символами, которые определены с помощью предыдущего
:
. Как и мое решение R, оно просто печатается при отправке.источник
Командная строка DOS, 10
Ошибка квин, не забанят похоже
источник
&
кодирует весь код и прекращает вывод&
это слово, правда?&
это два символа. 5 (слова) + 1 (трейлинг) + 2 ^ 2 вРунические чары , счет 4 + 3 + 1 1 +1 1 = 9
Попробуйте онлайн!
Слова:
hot ox not knot
(4)Замены:
3 4 +
(3)До:
"
(1)После:
@
(1)Все символы
GNOQWghtxz
в руническом режиме недоступны (а также пробел и точка, но больше пробелов не помогает в оценке). ВключаяX
иk
необходимые для функциональности, это дает следующий доступный список слов:Я выбрал вишню, исходя из потребностей пространства, в которое он входил, и делая его звучащим смешно.
Удаление всех символов NOP дает следующий quine:
Попробуйте онлайн!
источник
да? - 1 слово + 1 ** 1/1 ^ 1 = 1 символ после слова = 2 общего балла.
Ouch!
является действительным Quine в да?Запустите его как
pythuhn.py Ouch!
, иOuch!
в текущем каталоге не может быть файла с именем .источник