Inspirado por esta pregunta SciFi.SE.
Fondo (con spoiler menor):
En la película The Martian , el protagonista Mark Watney usa una tabla ASCII para buscar valores hexadecimales de caracteres ASCII para poder intentar comunicarse de regreso a la Tierra. *
Reto
Sin entrada, envíe la siguiente tabla ASCII exactamente así:
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
La nueva línea final es opcional. Con la nueva línea, el md5 de la salida es 58824a1dd7264c0410eb4d727aec54e1
. Sin lo es 41b6ecde6a3a1324be4836871d8354fe
.
En caso de que ayude, esta es la salida del ascii
comando de Linux con la información de uso en la parte superior cortada. Puede recrear esto en Ubuntu de la siguiente manera:
sudo apt-get install ascii
ascii | tail -n+7
No puede usar la ascii
utilidad (o similar) en sus respuestas.
Porque los personajes ASCII son pequeños ¡ Basta ya de este tonto meme !
Soy consciente de que esto es similar a Imprimir la tabla ASCII , pero creo que el formato de la salida en esta pregunta es significativamente más complejo y garantiza una pregunta diferente.
* Nota, todavía no he visto esta película.
fuente
ascii
utilidad en las respuestas? Si es así, vea mi edición, no está permitido.Respuestas:
JavaScript (ES6), 323
332 353Editar Logré acortar esto un poco
Paso 1, lo creas o no, usar una matriz de 16 caracteres es más corto que
toString
+toUpperCase
Paso 2, jugueteando para usar en
.map
lugar defor
, para que pueda transformarlo todo en una sola función de expresión, evitando console.log y / o return.Edit 2 Moved DEL en el lugar 0, idea tomada de Cole Cameron
MD5: 41B6ECDE6A3A1324BE4836871D8354FE
Pixel perfecto, diría
MENOS GOLFED
Prueba
fuente
DO,
307310308307305 bytesFinalmente trabajando al 100%.
Salida:
Sin golf:
Pruébalo en Ideone .
Editar: 2 bytes más. Muchas gracias a Dan Allen y Digital Trauma.
fuente
#include <stdio.h>
x,y,z=127;
y reemplaza las 4 ocurrencias de 127 con z. Agrega 6 caracteres pero quita 8.Chicle , 535 bytes
Este programa anterior utiliza la compresión LZMA. Pruébalo en línea!
fuente
C,
385384358 bytesEl chico de arriba me ganó el golpe, pero aún quería presentar porque disfruté este.
De-golf:
ACTUALIZACIÓN: reemplazó una var con j. Guardado un byte;)
ACTUALIZACIÓN2: recorté algunas cositas adicionales y funcionó una cosita de impresión para guardar algunos bytes.
fuente
s/HEX/Hex/
.thingy
c ;-PJavaScript ES6
432405398385fuente
${o} ${o} ${o+o+o+o} ${o} ${o}
.Golfscript, 225 bytes
fuente
Python 2.7, 389 bytes
Probablemente ya no intente reducir esto, pero fue divertido llegar hasta aquí.
fuente
Python 3.4, 216 bytes
También válido Python 2.7. Se usó la idea / sugerencia de FryAmTheEggman sobre curses.ascii.controlnames, que ahorra casi 100 bytes.
fuente
Rubí (2.2.2p95), 277
295 306 331 364sin golf
fuente
Microscript II , 1314 bytes
Probablemente lejos de ser óptimo.
fuente
JavaScript,
415413423 1411406402414 2412 bytesNo pude averiguar cómo imprimir los caracteres antes del código de caracteres 32, así que solo los enumeré como una cadena.
El hash que tengo parece coincidir (
41b6ecde6a3a1324be4836871d8354fe
).Demo + Ungolfed:
1 - espaciado fijo
2 - nuevamente espaciado fijo
fuente
MATLAB, 363 bytes
No tan pequeño como C pero comparable ...
fuente
/// , 998 bytes
Pruébalo en línea!
fuente
PHP ,
330321 bytesPruébalo en línea!
Menos golf:
fuente
Lisp común (SBCL), 309
Un script que se ejecutará que genera lo siguiente en la salida estándar, es decir. la versión sin una nueva línea final (md5: 41b6ecde6a3a1324be4836871d8354fe).
Detalles
(0 11 22 31 40 49 59 69)
contiene la posición de cada columna en una línea, como se obtiene al inspeccionar la salida deseada. Hubo muchos casos de esquina que simplemente se manejan mejor codificando la posición exacta de cada columna y dejando que la~T
directiva de formato se tabule según sea necesario.Dado que los nombres de los caracteres dependen de la implementación, este código se dirige solo al intérprete SBCL (probé con CCL, que usa otros nombres). Yo confio en
char-name
mayoría de los caracteres no gráficos, pero algunos de ellos tienen asignaciones explícitas a la salida esperada.Sin golf
fuente