Вдохновлен этим вопросом SciFi.SE.
Фон (с незначительным спойлером):
В фильме «Марсианин» главный герой Марк Уотни использует таблицу ASCII для поиска шестнадцатеричных значений символов ASCII, чтобы он мог попытаться связаться с Землей. *
Вызов
Без ввода выведите следующую таблицу ASCII в точности так:
Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex
0 00 NUL 16 10 DLE 32 20 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p
1 01 SOH 17 11 DC1 33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q
2 02 STX 18 12 DC2 34 22 " 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r
3 03 ETX 19 13 DC3 35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s
4 04 EOT 20 14 DC4 36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t
5 05 ENQ 21 15 NAK 37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u
6 06 ACK 22 16 SYN 38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v
7 07 BEL 23 17 ETB 39 27 ' 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w
8 08 BS 24 18 CAN 40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x
9 09 HT 25 19 EM 41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y
10 0A LF 26 1A SUB 42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z
11 0B VT 27 1B ESC 43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {
12 0C FF 28 1C FS 44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |
13 0D CR 29 1D GS 45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }
14 0E SO 30 1E RS 46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~
15 0F SI 31 1F US 47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL
Последний перевод строки не является обязательным. С новой строкой, md5 на выходе 58824a1dd7264c0410eb4d727aec54e1
. Без, это так 41b6ecde6a3a1324be4836871d8354fe
.
В случае, если это помогает, это вывод команды ascii
Linux с информацией об использовании в верхней части. Вы можете воссоздать это в Ubuntu следующим образом:
sudo apt-get install ascii
ascii | tail -n+7
Вы не можете использовать ascii
утилиту (или аналогичную) в своих ответах.
Потому что символы ASCII маленькие Достаточно уже с этим глупым мемом !
Я знаю, что это похоже на « Печать таблицы ASCII» , но я считаю, что форматирование вывода в этом вопросе значительно сложнее и требует другого вопроса.
* Обратите внимание, я еще не видел этот фильм.
источник
ascii
утилиты в ответах - если так, посмотрите мое редактирование - это не разрешено.Ответы:
JavaScript (ES6), 323
332 353Править Мне удалось немного сократить это
Шаг 1, хотите верьте, хотите нет, использование массива из 16 символов короче, чем
toString
+toUpperCase
Шаг 2, возиться, чтобы использовать
.map
вместоfor
, хотите верьте, хотите , так что я могу преобразовать все это в одну функцию выражения, avoding console.log и / или возврат.Edit 2 Moved DEL на месте 0, идея заимствована у Коула Кэмерона
MD5: 41B6ECDE6A3A1324BE4836871D8354FE
Пиксель идеально, я бы сказал
МЕНЬШЕГО ГОЛЬФ
Тест
источник
C,
307310308307305 байтНаконец работает 100%.
Выход:
Ungolfed:
Попробуйте это на Ideone .
Изменить: еще 2 байта. Большое спасибо Дэну Аллену и Digital Trauma.
источник
#include <stdio.h>
x,y,z=127;
и замените 4 вхождения 127 на z. Добавляет 6 символов, но убирает 8.Жевательная резинка , 535 байт
Эта программа использует сжатие LZMA. Попробуйте онлайн!
источник
C
385384358 байтПарень выше избил меня до удара, но я все еще хотел подчиниться, потому что мне это понравилось.
Де-golfed:
ОБНОВЛЕНИЕ: заменил var на j. Сохраненный байт;)
UPDATE2: обрезал несколько дополнительных штук и функционировал для печати штук, чтобы сохранить несколько байтов.
источник
s/HEX/Hex/
.thingy
c ;-PJavaScript ES6
432405398385источник
${o} ${o} ${o+o+o+o} ${o} ${o}
.Golfscript, 225 байтов
источник
Python 2.7, 389 байт
Вероятно, больше не буду пытаться урезать это, но это было забавно - зайти так далеко.
источник
Python 3.4, 216 байт
Также действует Python 2.7. Использовал идею / предложение FryAmTheEggman о curses.ascii.controlnames, которая экономит почти 100 байтов.
источник
Рубин (2.2.2p95), 277
295 306 331 364ungolfed
источник
Microscript II , 1314 байт
Вероятно, далеко от оптимального.
источник
JavaScript,
415413423 1411406402414 2412 байтЯ не мог понять, как печатать символы до кода 32, поэтому просто перечислил их в виде строки.
Хеш, который у меня есть, кажется, совпадает (
41b6ecde6a3a1324be4836871d8354fe
).Демо + Ungolfed:
1 - фиксированный интервал
2 - снова фиксированный интервал
источник
MATLAB, 363 байта
Не такой маленький, как С, но сопоставимый ...
источник
/// , 998 байт
Попробуйте онлайн!
источник
PHP ,
330321 байтПопробуйте онлайн!
Меньше гольфа
источник
Common Lisp (SBCL), 309
Запускаемый скрипт, который выводит следующее в стандартный вывод, т.е. версия без окончательного перевода строки (md5: 41b6ecde6a3a1324be4836871d8354fe).
Детали
(0 11 22 31 40 49 59 69)
содержит положение каждого столбца в строке, полученное путем проверки желаемого результата. Было много угловых случаев, которые просто лучше обрабатывались жестким кодированием точного положения для каждого столбца и предоставлением~T
табличной директивы формата по мере необходимости.Поскольку имена символов зависят от реализации, этот код предназначен только для интерпретатора SBCL (я тестировал CCL, который использует другие имена). Я полагаюсь на
char-name
большинство неграфических символов, но некоторые из них имеют явное отображение ожидаемого результата.Ungolfed
источник