Напишите программу, которая выводит все 64 слоя этого представления числа Грэма из Википедии:
Ваши выходные данные должны точно соответствовать этой версии ASCII (в которой ^
представлены стрелки вверх Кнута, а комбинации косой черты и подчеркивания представляют большие горизонтальные фигурные скобки):
3^^...............................................................................................................................^3
\_______________________________________________________________ _______________________________________________________________/
\/
3^^.............................................................................................................................^3
\______________________________________________________________ ______________________________________________________________/
\/
3^^...........................................................................................................................^3
\_____________________________________________________________ _____________________________________________________________/
\/
3^^.........................................................................................................................^3
\____________________________________________________________ ____________________________________________________________/
\/
3^^.......................................................................................................................^3
\___________________________________________________________ ___________________________________________________________/
\/
3^^.....................................................................................................................^3
\__________________________________________________________ __________________________________________________________/
\/
3^^...................................................................................................................^3
\_________________________________________________________ _________________________________________________________/
\/
3^^.................................................................................................................^3
\________________________________________________________ ________________________________________________________/
\/
3^^...............................................................................................................^3
\_______________________________________________________ _______________________________________________________/
\/
3^^.............................................................................................................^3
\______________________________________________________ ______________________________________________________/
\/
3^^...........................................................................................................^3
\_____________________________________________________ _____________________________________________________/
\/
3^^.........................................................................................................^3
\____________________________________________________ ____________________________________________________/
\/
3^^.......................................................................................................^3
\___________________________________________________ ___________________________________________________/
\/
3^^.....................................................................................................^3
\__________________________________________________ __________________________________________________/
\/
3^^...................................................................................................^3
\_________________________________________________ _________________________________________________/
\/
3^^.................................................................................................^3
\________________________________________________ ________________________________________________/
\/
3^^...............................................................................................^3
\_______________________________________________ _______________________________________________/
\/
3^^.............................................................................................^3
\______________________________________________ ______________________________________________/
\/
3^^...........................................................................................^3
\_____________________________________________ _____________________________________________/
\/
3^^.........................................................................................^3
\____________________________________________ ____________________________________________/
\/
3^^.......................................................................................^3
\___________________________________________ ___________________________________________/
\/
3^^.....................................................................................^3
\__________________________________________ __________________________________________/
\/
3^^...................................................................................^3
\_________________________________________ _________________________________________/
\/
3^^.................................................................................^3
\________________________________________ ________________________________________/
\/
3^^...............................................................................^3
\_______________________________________ _______________________________________/
\/
3^^.............................................................................^3
\______________________________________ ______________________________________/
\/
3^^...........................................................................^3
\_____________________________________ _____________________________________/
\/
3^^.........................................................................^3
\____________________________________ ____________________________________/
\/
3^^.......................................................................^3
\___________________________________ ___________________________________/
\/
3^^.....................................................................^3
\__________________________________ __________________________________/
\/
3^^...................................................................^3
\_________________________________ _________________________________/
\/
3^^.................................................................^3
\________________________________ ________________________________/
\/
3^^...............................................................^3
\_______________________________ _______________________________/
\/
3^^.............................................................^3
\______________________________ ______________________________/
\/
3^^...........................................................^3
\_____________________________ _____________________________/
\/
3^^.........................................................^3
\____________________________ ____________________________/
\/
3^^.......................................................^3
\___________________________ ___________________________/
\/
3^^.....................................................^3
\__________________________ __________________________/
\/
3^^...................................................^3
\_________________________ _________________________/
\/
3^^.................................................^3
\________________________ ________________________/
\/
3^^...............................................^3
\_______________________ _______________________/
\/
3^^.............................................^3
\______________________ ______________________/
\/
3^^...........................................^3
\_____________________ _____________________/
\/
3^^.........................................^3
\____________________ ____________________/
\/
3^^.......................................^3
\___________________ ___________________/
\/
3^^.....................................^3
\__________________ __________________/
\/
3^^...................................^3
\_________________ _________________/
\/
3^^.................................^3
\________________ ________________/
\/
3^^...............................^3
\_______________ _______________/
\/
3^^.............................^3
\______________ ______________/
\/
3^^...........................^3
\_____________ _____________/
\/
3^^.........................^3
\____________ ____________/
\/
3^^.......................^3
\___________ ___________/
\/
3^^.....................^3
\__________ __________/
\/
3^^...................^3
\_________ _________/
\/
3^^.................^3
\________ ________/
\/
3^^...............^3
\_______ _______/
\/
3^^.............^3
\______ ______/
\/
3^^...........^3
\_____ _____/
\/
3^^.........^3
\____ ____/
\/
3^^.......^3
\___ ___/
\/
3^^.....^3
\__ __/
\/
3^^...^3
\_ _/
\/
3^^^^3
Обратите внимание, что существует 64 слоя, что нет пробелов, и что два ^
находятся перед точками, и только один - после.
MD5 хэш вашей продукции должен точно быть c84d0e20eac2a7f891ab42a8eb77759f
, или 1ad3b10d06e38693436c14958b2c47a8
если есть символ конца строки (что хорошо).
Самый короткий код в байтах побеждает. Вывод на стандартный вывод. Там нет ввода.
code-golf
kolmogorov-complexity
Кальвин Хобби
источник
источник
1ad3b10d06e38693436c14958b2c47a8
как указано в grc, илиc84d0e20eac2a7f891ab42a8eb77759f
если последний символ новой строки можно опустить.Ответы:
CJam - 64
Попробуйте это на http://cjam.aditsu.net/
источник
Питон, 122
Пример:
источник
Perl - 113 (112 + 1 для -E)
Golfed:
Ungolfed:
РЕДАКТИРОВАТЬ: Произошла ошибка в интерполяции строк, когда Perl думал, что $ m3 является переменной, поэтому мне пришлось добавить 2 символа, чтобы исправить это.Решено путем изменения $ m на $.NINJA EDIT: Заменены экземпляры "" на $. Сохраняет 2 символа
NINJA EDIT 2: Спасибо @chilemagic за указание, что я могу использовать слово вместо печати с -E для сохранения символа.
НЕ-ТАК-НИНДЖА РЕДАКТИРОВАТЬ 3: @ Решение Накса побило мое старое решение, поэтому я немного его поправил, чтобы удержать его.
источник
say
вместо,print
а затем запустить его с-E
вместо-e
(если ваша версия Perl достаточно высока). Выглядит отлично, хотя!Хаскелл, 152
источник
+1
и просто добавите точку раньше"^3"
.С 161
182(я думаю, что этот метод был исчерпан, возможно, мне стоит найти новый, который можно больше использовать в игре)
скомпилировать как C99!
JS 158
xem.github.io/obfuscatweet/ 124:
источник
Bash + coreutils, 150
Я думал, что смогу сделать лучше, чем это. Ну что ж.
Выход:
источник
СТАТА 135
источник
JavaScript 179
Протестируйте его в консоли браузера или по адресу http://jsfiddle.net/2qwvrvcw/ .
источник
Javascript (203)
Ungolfed:
источник
C # (
212211).Net Fiddle (похоже, что класс и метод Main являются открытыми)
Слегка разгульный
источник
Perl
116112109108 (включая -E)Моя первая попытка игры в гольф. Пожалуйста, примите это так:
Golfed:
Слегка невзрачный (не поддерживается ...):
По сути, это работает так: для каждой строки 3 и скобки (они обрабатываются вместе), он записывает их последовательность в RLE-кодировании , а затем декодирует ее. Правило простое: каждый символ, за которым следует число, увеличивается до этого символа столько раз. Персонажи без номера остаются одни. Наконец, символ
!
обозначает 3 иN
означает «новую строку» (3 пришлось кодировать, потому что это число, и он будет охотно участвовать в качестве числа повторений).Каждая строка 3s и ее фигурная скобка получают элемент в массиве из 64 элементов, который генерирует карта. Скажем, как и print, можно выводить массивы - если дан массив, он печатает все элементы (без каких-либо разделителей).
Я использовал трюк Chilemagic с
-E
. Спасибо за это.Подкрепление: Два 113-байтовых решения начали скрываться здесь. РЛЭ не погибнет без боя!
Очистка каналов : теперь я понял, что мне не нужна специальная транслитерация \ n, потому что все строки в Perl автоматически разбиты на несколько строк! Таким образом, RLE цепляется ближе к спине Ruby! Теперь на 109 байтах.
Агонизирующее просвещение : правильно считать персонажей сложнее, чем я думал. После некоторой борьбы я остановился на
(-1, потому что он считает LF в самом конце скрипта). Более того, я переставил свои назначения и сохранил 1 символ, тем самым остановившись на 108 байтах.источник
MATLAB (325)
ungolfed:
MATLAB (252)
ungolfed:
источник
PHP 214
Думал, что у меня все хорошо, пока я не посчитал персонажей, в любом случае вот оно -
источник
->' '
,<br>
->\n
)<?
в начале кода - это должна быть действительная программа, а не функция.<?function a($n,$v=" "){return str_repeat($v, $n);}for($i=64;$i>1;){$b=a($i-1,"_");$v.=a(64-$i)."3^^".a($i*2-1,".")."^3\n".a(65-$i--)."\\$b".a(2)."$b/\n".a(65)."\/\n";}$v.=a(63)."3^^^^3";echo$v;
php grahams.php | md5sum
:c84d0e20eac2a7f891ab42a8eb77759f -
Луа - 174
До этого я получил два алгоритмически разных решения (оба 182!):
источник