Выберите свое любимое 6-буквенное распространенное английское слово, которое не имеет повторяющихся букв , например wombat
.
Напишите программу в N × N сетке символов без комментариев , чтобы каждая строка и столбец содержали все буквы вашего слова в нижнем регистре в любом порядке. Программа должна вывести определение вашего слова из 36 символов или более .
правила
- Вывод на стандартный вывод. Там нет ввода.
- Ваше слово должно быть на Dictionary.com и содержать только аз. Нет собственных имен, аббревиатур, сокращений, сокращений.
- Ваша программа и выходные данные могут содержать только печатные символы ASCII (шестнадцатеричные коды от 20 до 7E). (Это не считая необходимых новых строк в сетке программы.)
- Комментарии - это все, что традиционно игнорирует компилятор или интерпретатор. Вы можете использовать код, который не вносит свой вклад в вывод или официально не выполняется.
- Выходное определение должно быть грамматическим и точным, но, безусловно, может быть забавным или умным.
- Допустима любая строка или столбец, которые содержат как минимум 6 уникальных букв вашего слова в нижнем регистре. Диагонали не имеют значения.
счет
Это кодовый гольф, но поскольку все заявки должны быть в одинаковом квадратном формате, вы можете просто указать свой результат с помощью N. Наименьшее N выигрывает, и, конечно, N ниже 6 невозможно. В случае связей победит ответ, получивший наибольшее количество голосов.
пример
Если ваше слово было wombat
вашей программой, она может выглядеть так (N = 7):
wombatD
ombatEw
mbatFwo
bat(wom
atWwomb
tBwomba
)wombat
Обратите внимание, что в каждой строке и каждом столбце есть символы w
o
m
b
a
t
.
Выход может быть: (40 символов)
Cute short-legged Australian marsupials.
источник
golfed
» и определение"a description of this program's code"
(для тех, кто может понять, как это сделать!).Ответы:
Perl - виноград - 11
редактировать: я случайно сделал это 12 строк ...
Выход:
Обновить!
Я убрал строку, чтобы уменьшить ее до 11, но мне пришлось изменить предложение. Надеюсь, на этот раз я не допустил ошибок!
Выход:
Выход составляет 37 символов.
источник
Javascript - действие - 15x15
«Определенно не самый короткий, но PEW PEW PEW». - Джеймс Бонд
Ссылка на
вывод jsfiddle (37 символов):
источник
Befunge 93, n = 13
Это работает путем перенаправления строки с
"v
и>"
. Это работает только тогда, когда длина стороны и длина слова взаимно просты, и когда длина стороны больше 11. Прямо сейчас, это работает для «слова»vwombat
и, следовательно, дляwombat
.Выходы
Cute short-legged Australian marsupial
источник
C (слово: «искатель», N = 16)
Составлено с GCC, с опциями
-Dfinder="" -Df="" -Di="" -Dn="" -Dd="" -De="" -Dr=""
.Он выводит
it's defined as a thing that can find other things
(50 символов). Я полагаю, что это следует всем правилам, но не стесняйтесь сказать мне, если есть какая-либо ошибка!источник
"-Dfinder=main(){puts(it's defined as a thing that can find other things);}" -Dinderf=; -Dnderfi=; -Dderfin=; -Derfind=; -Dnderfi=;
GolfScript, N = 12
Пример вомбата, закодированный в GolfScript. Выход
как указано в вопросе. Самое интересное в том , что вы можете использовать большинство слов и ответы , а просто вставить соответствующие буквы в раствор до тех пор , пока вы не производят GolfScript встроенный в которой очень редки,
p
,n
будучи очевидным из них. Все остальные комбинации приводят к допустимым переменным GolfScript, которые по умолчанию не допускаются.источник
Befunge-98 (n = 12)
Я выбрал Кельвина, потому что он был в нем. Выходы
kelvin is like celsius but it's lowe
источник
Si temp
29 символов не хватает 36.;)k
а в столбце 9 отсутствуетe
.Python, n = 15
Слово "каноэ"
Выход:
источник
canoes
. Исправлена.Perl - повтор - 11
Выход:
Оглядываясь назад, возможно, я должен был сделать это петлей.
источник
e
каждой строке, поэтому я решил, что я мог бы также опубликовать это.Рубин ,
haters
N = 10После нескольких часов попыток вручную, написания программы генератора и настройки параметров, я наконец нашел решение для N = 10!
Выходы
Haters nurse hate in hardest hearts.
, ровно 36 символов. Попробуйте онлайн!Я выбрал Ruby, потому что его переменные не нужны
$
(Perl), а строки в одинарных кавычках могут содержать символы новой строки (Python). Тот факт, чтоtr
метод использует две буквы моего слова, был неожиданным бонусом. Суть программы проста:Получение всех букв выстраиваться, конечно, было не просто. Я просмотрел несколько вариантов одной и той же структуры и узнал несколько вещей о Ruby в процессе (
tr
не требует скобок и?\s
является еще одним способом получения пробела). Было много тупиков и несколько ложных срабатываний. И тогда ... успех!Вот суть моей взломанной программы генератора, если кому-то интересно.
источник
Golfscript (n = 10)
Мой первый гольф-скрипт! Это печатает
kelvin is like celsius but it's lowe
источник
GolfScript, 13x13
Не самый маленький ...
... но ...
(Наличие разрывов строк внутри слов является преднамеренным, потому что в противном случае у меня был бы начальный или конечный пробел, который выглядел бы менее квадратным.)
источник
Python, N = 11
Слово «родитель». Этот код не очень красивый, но он работает.
Выход:
parent: a person that made a person
Изменить: Почему-то я упустил тот факт, что столбцы также должны содержать слово. Оглядываясь назад, язык, который включает символы конца строки как часть языка, не очень подходил для этой головоломки.
источник
parent
. Первый, например, не имеетa
.p
отсутствует в 6 и 8a
.: 4, 6, 7, 11r
.: 4, 10, 11e
.: 4, 5, 8, 9, 11n
.: 3, 5, 7, 11t
.: 1, 3, 6, 8.Пип , n = 14 (неконкурентный)
Язык новее, чем вопрос. Слово есть
quines
. 1Выводит следующее (предположительно неполное) определение:
Попробуйте онлайн!
Значимая часть кода работает так:
Остальная часть кода является произвольным бездействием. Основная трудность в разделах «заполнитель» заключалась в том, чтобы никогда не оценивать
q
, так как это предложит пользователю ввести строку ввода (не проблема для TIO, но я хотел, чтобы она была правильной во всех средах). Я использовал логические операторы короткого замыкания|
и&
, и троичные?
, чтобы предотвратитьq
оценку.1 Dictionary.com имеет запись для квин , с разделом, посвященным программированию, внизу. Поскольку «quine» является исчисляемым существительным, я бы сказал, что «quines» является допустимым словом.
источник
Javascript, N = 8
Мое слово - оповещения .
Мой код выводит определение функции оповещения JavaScript несколько раз. Определение оповещения в Javascript - это «function alert () {[native code]}».
Только первые три строки кода на самом деле способствуют выводу. Последние 5 строк являются синтаксическими ошибками, но в первоначальных правилах указывалось, что не весь код должен выполняться, пока вывод верен.
Вот ссылка на скрипку: http://jsfiddle.net/tze76pum/
источник