Дуглас Адамс родился 11 марта 1952 года и умер, когда ему было всего 49 лет. В честь этого замечательного писателя, я призываю вас показать 42 самым креативным способом.
Вы можете распечатать его в журнале, используя какой-нибудь замысловатый метод, или отобразить как ASCII-арт, или что-нибудь еще! Просто придумайте креативный метод отображения 42.
Поскольку этот конкурс популярности, какой ответ наберет наибольшее количество голосов к 11 марта, будет объявлен победителем.
Примечание: это не дубликат. Вопрос, который был помечен как дублирующий, был вопросом контроля кода, целью которого было написать код для вывода 42, а не найти наиболее креативный способ его отображения .
Победитель: grovesNL! С поразительными 813 голосами! Congrats!
Похвальные грамоты:
Mr Lister C 228 За умное использование #define
David Carraher Mathematica 45 За сложную и запутанную математическую функцию для достижения 42
Aschratt Windows Calculator 20 Потому что, ну, это Windows Calculator И, безусловно, 1337.
f.rodrigues Python 17 Из-за умного использования внешних программ. И MSPaint
Jason C LMGTFY 14 Для использования LMGTFY (Дайте мне Google That For You)
Trimsty Python 12 Для умного использования сообщения об ошибке для вывода 42.
Mukul Kumar C ++ 7 Для хорошего вывода ASCII.
Если вы считаете, что есть другой ответ, который стоит включить в список, пожалуйста, прокомментируйте его!
Ответы:
Двойной мозг
какие выводы ...
какие выводы ...
источник
6*9=42
.С
Вот старенькая, но вкусная ...
Эта программа содержит 42 различных символа ASCII.
источник
six*nine
становится1+5*8+1
42. Молодец, мистер Листер.#define
работает в C ++ точно так же, как и в C.Brainfuck
Потребовалось время, чтобы добраться туда, но мне нравится результат:
При запуске он напечатает 42, конечно.
источник
JavaScript:
Выход:
Неплохо, а? :)
Для людей, которые не понимают, это фактически оценивает следующее:
источник
_
является допустимым именем переменной в JavaScript - и так есть__
,___
,____
,________
.С, Двенадцать дней рождественского стиля
Новая версия:
Выход:
Кстати, также проверьте мой текст в речь .
Оригинальная версия:
Выход:
Альтернативный интервал, если вы чувствуете себя липким:
Программа представляет собой одно рекурсивное утверждение. Я сделал это в стиле моей любимой запутанной программы на Си, « Двенадцать дней Рождества» (собери, подготовь, чтобы взорвать, беги).
КАК
Кроме того, поскольку это место кажется таким же хорошим, как и любое другое, вот руководство, описывающее, как создавать программы такого типа. Это руководство использует оригинальную версию выше в качестве примера. Помимо первого бита с печатными буквами, это общие шаги:
ПЕРВОНАЧАЛЬНО: Во-первых, я начал с печатных букв:
Затем я составил нумерованный список уникальных шаблонов в каждой строке символов из 5 столбцов:
И поэтому каждая из 5-ти пиксельных строк текста становится серией из 9 чисел:
Для запутывания (и простоты программирования) мы добавляем символ «#» к числам. В приведенной ниже программе
patterns
представлен массив шаблонов пикселей, аlines
также запутанный массив кодов шаблонов для каждой строки, оканчивающийся знаком «x». Для дальнейшего запутывания мы определяем «включенные» пиксели вpatterns
качестве любого символа, который не является пробелом; это позволяет нам вводить больше вводящего в заблуждение текстаpattern
:ШАГ 1: Следующий шаг включает в себя несколько задач:
int function (int, int)
и используйте одинаковые имена параметров для каждой. Причины станут понятны позже.main
в формуint main (int, int, int)
и назовите последние два параметра так же, как имена параметров вашей функции.int putchar (int)
.Мы также можем воспользоваться странной функцией C,
a[b]
которая эквивалентнаb[a]
дальнейшему запутыванию.ШАГ 2: Далее, использовать из
?:
и,
операторов , чтобы превратить каждую функцию в одномreturn
заявлении. Я иллюстрирую это отдельно от вышесказанного, потому что это то, где вещи начинают сбиваться с толку. Помните, чтоputchar()
возвращаетint
, и?:
имеет приоритет над,
:ШАГ 3: Хорошо. Следующий шаг - большой. Все функции теперь являются одним оператором одинаковой формы. Теперь мы можем объединить их все в одну функцию, идентифицируя каждую по номеру - по сути, превращая всю программу в одну рекурсивную функцию. Обратите внимание, что первым параметром
main
будет 1, когда программа запускается без аргументов, поэтому это должно быть наше начальное состояние.Кроме того, поскольку наш параметр
c
tomain
является нашей переменной состояния, мы всегда знаем ее значение и можем немного запутать ее, заменив целочисленные константы их значениями в терминахc
(например, когда мы знаем,c
что 2, мы можем заменить 5 сc+3
). Другие маленькие запутывания могут быть сделаны тоже (например, я заменил'#'
на35
и043
):ШАГ 4: Наконец, удалите
switch
блок, используя ряд?:
операторов. Мы также можем удалитьint
объявления, так как C будет использовать их по умолчанию, а такжеreturn
сам (что в худшем случае выдаст предупреждение). После этого наша программа представляет собой одну рекурсивную функцию с одним оператором. Довольно круто, правда?Изменить: я заменил
putchar()
наmain
иc==4
ниже; потому что я просто думал об этом в последнюю минуту:Если вы хотите добавить немного чутья, вы можете использовать более интересные номера для
c
и даже основывать чеки на других номерах (например, дляc==2
случая,z
игнорируется и доступен, поэтому вместо вызоваmain(2,z,_)
вы можете позвонитьmain(-97,_,_)
и заменитьc==2
наc<-z
). Будь креативным; возможности безграничны.ОКОНЧАТЕЛЬНАЯ ИНФОРМАЦИЯ: Последний шаг - это оформить текст в какой-нибудь креативный шаблон, и вуаля! Вы можете немного откорректировать код, чтобы помочь с форматированием (например, я добавил некоторые дополнительные данные в конец
patterns
строки в опубликованной программе, чтобы помочь получить правильную длину строки). Дамы наверняка будут все в порядке.источник
Мне лень.
питон
Выход:
источник
Ява
(или C ++, код почти аналогичен)
Использование функций String, поэтому не забудьте включить вашу библиотеку!
PS Я знаю, что это долго, но это должно быть креативно, верно? И вообще, это не «выигрыш с наименьшим количеством байтов».
Вот вывод:
Вообразите мое несчастье, когда я посчитал и обнаружил, что «Ресторан на краю Вселенной» имеет 41 персонаж! Вздох.
источник
Mathematica
Взять 1
С некоторой работой я должен был бы немного поиграть в это. :)
В
InputForm
:В
TraditionalForm
:Тестирование:
Взять 2
Примечание: цифры были сделаны следующим образом.
источник
Кажется уместным:
Выход:
Ubuntu 12.04, 64-битный рабочий стол
источник
echo $(grep -i ... tr -d ' ') | sed 's/ //g'
поместил бы все в одну строку. Вы также можете использовать обратные кавычки вместо$()
формы, но здесь сложнее добавить комментарий.$()
определяется стандартом POSIX .Windows калькулятор
Умножение числа Пи на 13,37 и игнорирование десятичной дроби
:P
источник
питон
Я думаю, это работает только на Windows 7.
Результатом является открытие Paint и рисование 42 в качестве свободной руки.
источник
Ява (Свинг)
Это отобразит рамку с ответом . Используется только
42
для значений.источник
Mathematica
хотя я думаю, что это на самом деле обман, так как это жестко закодировано. И не очень креативно, с моей стороны ... :)
источник
Рубин
Хорошо известно, что вы получите, если умножить шесть на девять . Это дает одно решение:
питон
Вариант самореференциальной формулы Таппера :
Выход:
источник
Javascript
источник
true == 1
.[]
вместо""
([] == ''
)!alert((!![]+-~[])*(!![]+-~[])+[]+(!![]+-~[]))
(!-[] === true) && (!~[] === false)
, Кроме того, можно заменить{}
на[]
.(!!{}+!-[]<<-~{})+[]+(!-[]+-~[])
?LMGTFY
http://bit.ly/1ldqJ8w
Достаточно короткий, чтобы мне нужно было набрать это, чтобы достичь минимального количества символов ...
источник
Четвёртое:
Это 1 нагрузка выводит:
источник
C ++
Азбука Морзе ;)
источник
р
Результат:
источник
Ява
Выход:
источник
SWI-Пролог, кто-нибудь?
Выход:
Это даже ленивее, чем Mathematica-вызывающий-Wolfram-Alpha, но эй!
источник
Оболочка Linux
Вот что я написал в 1999 году и использовал в качестве подписи Usenet.
Редактировать: Ха! Это был 42-й ответ.
источник
Версия PHP:
Версия JavaScript:
Выход:
источник
42
. Я пробовал различные другие удобочитаемые способы, и это было самое близкое, что я мог преобразовать дату, чтобы прийти к решению.mm/dd/yy
. Если вы скажете04/03/11
, я бы прочитал это как 4 марта 2011 года, а не 3 апреля.Округ Колумбия
Пытаться умножить
1+8
и5+1
получить42
. Похоже, что незнание приоритета оператора привело к42
.питон
Выход:
42
удар
(Умножение
6
на9
)С
Выход:
42
источник
Brainf ** к
источник
C ++
выход
источник
getch
быть_getch
вместо этого.JavaScript
Выходы
42
.источник
J
Симметричный однострочный без буквенно-цифровых символов.
Выходы 42.
Основное вычисление:
источник
JavaScript
Код ASCII для
*
, который для большинства программистов расшифровывается как «все», равен 42. Значение равно+!"The End of the Universe"
0.источник
"The End of the Universe"|0
PHP
Спросите WolframAlpha. Вот некоторый код, который использует API WolframAlpha для получения результата определенного поискового запроса:
Выход:
Рабочая демонстрация
источник