Inspiré par cette question SciFi.SE.
Contexte (avec spoiler mineur):
Dans le film The Martian , le protagoniste Mark Watney utilise une table ASCII pour rechercher les valeurs hexadécimales des caractères ASCII afin qu'il puisse tenter de communiquer avec la Terre. *
Défi
Sans entrée, sortez le tableau ASCII suivant exactement comme ceci:
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 nouvelle ligne finale est facultative. Avec la nouvelle ligne, le md5 de la sortie est 58824a1dd7264c0410eb4d727aec54e1
. Sans, ça l'est 41b6ecde6a3a1324be4836871d8354fe
.
Au cas où cela aiderait, c'est la sortie de la ascii
commande Linux avec les informations d'utilisation en haut coupées. Vous pouvez recréer cela sur Ubuntu comme suit:
sudo apt-get install ascii
ascii | tail -n+7
Vous ne pouvez pas utiliser l' ascii
utilitaire (ou similaire) dans vos réponses.
Parce que les caractères ASCII sont déjà assez petits avec ce mème stupide !
Je sais que cela est similaire à Imprimer la table ASCII , mais je pense que le formatage de la sortie dans cette question est beaucoup plus complexe et mérite une question différente.
* Remarque, je n'ai pas encore vu ce film.
la source
ascii
utilitaire dans les réponses - si c'est le cas, consultez ma modification - ce n'est pas autorisé.Réponses:
JavaScript (ES6), 323
332 353Modifier J'ai réussi à raccourcir cela un peu
Étape 1, croyez-le ou non, en utilisant un tableau de 16 caractères est plus court que
toString
+toUpperCase
Étape 2, tripotant pour utiliser à la
.map
place defor
, afin que je puisse tout transformer en une seule fonction d'expression, avoding console.log et / ou return.Edit 2 Moved DEL à la place 0, idée empruntée à Cole Cameron
MD5: 41B6ECDE6A3A1324BE4836871D8354FE
Pixel parfait, je dirais
MOINS GOLFE
Tester
la source
C,
307310308307305 octetsEnfin travailler à 100%.
Sortie:
Non golfé:
Essayez-le sur Ideone .
Modifier: 2 octets supplémentaires. Un grand merci à Dan Allen et Digital Trauma.
la source
#include <stdio.h>
x,y,z=127;
et remplacez les 4 occurrences de 127 par z. Ajoute 6 caractères mais en retire 8.Bubblegum , 535 octets
Ce programme ci-dessus utilise la compression LZMA. Essayez-le en ligne!
la source
C,
385384358 octetsLe gars ci-dessus m'a battu au poinçon mais je voulais quand même me soumettre parce que j'aimais celui-ci.
De-golfé:
MISE À JOUR: remplacé un var par j. Sauvegardé un octet;)
UPDATE2: Coupé quelques trucs supplémentaires et fonctionnalisé un truc d'impression pour enregistrer quelques octets.
la source
s/HEX/Hex/
.thingy
c ;-PJavaScript ES6
432405398385la source
${o} ${o} ${o+o+o+o} ${o} ${o}
.Golfscript, 225 octets
la source
Python 2.7, 389 octets
Je ne vais probablement plus essayer de réduire cela, mais c'était amusant de le faire aussi loin.
la source
Python 3.4, 216 octets
Également valide Python 2.7. Utilisé idée / suggestion de FryAmTheEggman à propos curses.ascii.controlnames, qui permet d' économiser près de 100 octets.
la source
Rubis (2.2.2p95), 277
295 306 331 364non golfé
la source
Microscript II , 1314 octets
Probablement loin d'être optimal.
la source
JavaScript,
415413423 1411406402414 2412 octetsJe ne pouvais pas comprendre comment imprimer les caractères avant le code de caractère 32, alors je les ai simplement répertoriés sous forme de chaîne.
Le hachage que j'ai semble correspondre (
41b6ecde6a3a1324be4836871d8354fe
).Démo + Ungolfed:
1 - espacement fixe
2 - à nouveau espacement fixe
la source
MATLAB, 363 octets
Pas aussi petit que C mais comparable ...
la source
/// , 998 octets
Essayez-le en ligne!
la source
PHP ,
330321 octetsEssayez-le en ligne!
Moins de golf:
la source
Lisp commun (SBCL), 309
Un script à exécuter qui renvoie les éléments suivants à la sortie standard, c'est-à-dire. la version sans nouvelle ligne finale (md5: 41b6ecde6a3a1324be4836871d8354fe).
Détails
(0 11 22 31 40 49 59 69)
contient la position de chaque colonne sur une ligne, obtenue en inspectant la sortie souhaitée. Il y avait de nombreux cas d'angle qui sont tout simplement mieux traités en codant en dur la position exacte de chaque colonne et en laissant la~T
directive de format tabuler selon les besoins.Étant donné que les noms de caractères dépendent de l'implémentation, ce code cible uniquement l'interpréteur SBCL (j'ai testé avec CCL, qui utilise d'autres noms). Je m'appuie sur la
char-name
plupart des caractères non graphiques, mais certains d'entre eux ont des correspondances explicites avec la sortie attendue.Non golfé
la source