En tant qu'accompagnateur de l'agent secret, vous avez été engagé pour vos connaissances techniques afin de vous assurer que le bon gars puisse faire son travail et que le monde puisse être sauvé.
Ceci est votre dernière mission avant de prendre sa retraite avec un salaire élevé et la gratitude du monde entier. Mais avant de désarmer la BOMB Big Overly Massive du Génie Maléfique (il semble que le génie du mal soit un âne intelligent qui aime les acronymes récursifs). Quoi qu'il en soit, vous et votre ami êtes au cœur de la base secrète de Evil Genius, prêts à désarmer la BOMB qui pourrait anéantir le continent. Lors de votre précédente mission, vous avez réussi à obtenir le code de désarmement qui, à votre grand étonnement, est simplement "PASSWORD_01". Vous connectez votre clavier à la BOMB, mais lorsque vous êtes prêt à partir, les hommes de main du Génie maléfique entrent avec un barrage de balles. Malheureusement, l'une de ces balles a un impact sur votre clavier. "Termine le travail pendant que je distrais ces d * ckheads!" dit votre copain et commence à tirer son arme.
SPÉCIFICATIONS
- Ecrivez un programme qui affiche comme vous le souhaitez la chaîne
PASSWORD_01
(majuscule). Votre clavier ayant été touché par une balle, vous ne pouvez utiliser que les touches suivantes:
1 2 3 4 5
Q W E R T
A S D F G
< > Z X C
Ctrl Shift Tab Space
En utilisant la Shifttouche, votre clavier vous permet d’utiliser ces caractères:
! " · $ %
Vous n'avez pas d'autre matériel que le clavier et l'écran (une souris par exemple), ni un fichier avec le mot de passe inscrit sur votre ordinateur.
Vous n'avez pas de connexion Internet.
Vous pouvez supposer que l'éditeur d'interpréteur / source d'interprète a été ouvert avant l'arrivée des puces. Malheureusement, vous n'avez rien écrit dedans avant que le clavier ne soit touché.
Vous n'avez pas de clavier virtuel. En fait, le BOMB a un détecteur TOO_FUNNY qui le fera exploser si vous essayez d’utiliser les failles standard .
Puisque votre copain attend que vous finissiez bientôt pour vous échapper de la Base secrète, vous devrez écrire le plus petit code possible (donc c'est du code source-restreint et du code-golf !).
Bonne chance car le décompte a commencé!
MODE AIDE: De même, une KEY( une seule touche du clavier que vous voulez, mais pas la combinaison de touches Maj + touche ou toute autre combinaison) a miraculeusement survécu également. Ex.: Vous pouvez utiliser =, ou 0ou /… Cette touche supplémentaire ne peut contenir aucune des lettres PASSWORD_01
(vous ne pouvez donc pas ajouter Pou O). Nommez cette clé dans votre réponse. Vous avez une pénalisation de 10 caractères pour l’utilisation de cette clé, quel que soit le nombre de fois où vous l’utilisez.
la source
stewardesses
?Réponses:
CJam - 24 + 10 ( () = 34
Aucune clé supplémentaire - 39
Essayez-le sur http://cjam.aditsu.net/
la source
bash, vim et dc (343)
Je suis assis à une invite de bash qui a été configurée par Evil Genius et, bien sûr,
VISUAL=vim
dans l'environnement par défaut. Utilisation de la liaison par défaut de bash pouredit-and-execute-command
(C-x C-e
) bash appelle$VISUAL
et exécute le contenu de son tampon sous exit (ZZ
). Je tape dans la séquence suivante (Remarque: kbd-mode sont des commandes émises en mode normal et des séquences de contrôle):achat <<< 45 C-c4C-aaa
Maintenant, le tampon vim contient
cat<<<49a
. En continuant ...45 C-c3C-aaa
55 C-c13C-aaa
Maintenant, le tampon vim contient
cat<<<49a48a95a68a
. En continuant ...51 C-c31C-aaa
55 C-c25C-aaa> s
Maintenant, le tampon vim contient
cat<<<49a48a95a68a82a79a87a83a83a65a80a>s
Sortez du mode insertion, sauvegardez et quittez
C-cZZ
Le
s
fichier contient maintenant undc
script qui génère la chaîne souhaitée sur la pile. Nous devons maintenant ajouter des commandes d'impression.C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
Répétez la commande ci-dessus 9 fois.
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eadc <<< 55 C-c25C-aaa >> sC-cZZ
C-xC-eachat <<< f >> s
Exécutez le script en continu:
C-xC-eadc sC-cZZ
Sortie:
Contenu du
s
fichier:la source
vim
script à cause duCtrl
personnage; bonne pensée pour le coupler avecdc
! En outre, excellente solution :)<Leader>k
bound comme çamap <Leader>k i<kbd></kbd>^[F>a
, donc ce n'était pas aussi grave qu'il n'y paraît :-).Rubis, 57 + 10 (
*
) = 67Cette réponse utilise
*
et%
pour construire les valeurs ASCII des caractères manquants (et 0 comme Fixnum) et les insère dans$*
(ARGV
). Ce tableau est ensuite utilisé en combinaison avec une chaîne de format pour générer le mot de passe correct, qui est imprimé avec$><<
($>
est stdout).Ruby, 62 + 10 (
.
) = 72, pas de saut de ligneÀ peu près le même principe que la version ci-dessus, sauf qu'ici le tableau est construit à partir d'un tableau vide literal (
%w%%
). Quelques manipulations.
sont nécessaires pour obtenir la priorité souhaitée de l’opérateur.la source
Espace blanc (148 + 10 = 158)
Enter la clé doit être utilisée ici.
L'explication de ma notation:
S
,+
,0
Sont des espaces.T
,1
sont des onglets.L
est nouvelle ligne.//
commence à commenter.Chaque ligne est une commande en langage blanc.
Démo
la source
L
signifie en fait un nouveau caractère de ligne. Vérifiez la démo pour le code réel. Ce que j'ai posté est une version lisible.Python (
2200395 + 10)J'avais besoin du
+
caractère (coûtant +10), qui peut être obtenu à partir du pavé numérique (ou sur certaines dispositions de touches).Oui, la BOMB s'est probablement éteinte pendant que je tapais ça.
L'approche de base consiste à construire des jeux de caractères toujours plus grands en utilisant
exec
et"%c"%(number)
. Il y a quatreexec
s imbriqués l'un dans l'autre. Progressivement, mon jeu de chiffres progresse dede sorte que lors de l'itération finale, il est possible d'exprimer n'importe quel caractère (de sorte que la version la plus interne puisse réellement exécuter n'importe quel programme).
Environ 50% du programme consiste uniquement en des guillemets (
"%c"%34
une guillemet double), car la nature imbriquée desexec
instructions exige de "s'échapper" de manière agressive.la source
exec '%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c'%(112,114,51+54,55+55,1+115,32,4+35,25+55,11+54,31+52,31+52,32+55,24+55,31+51,13+55,41+54,3+45,4+45,4+35)
Insomnie
39353129Cette langue apparaît lorsque je cherchais une langue qui code ses instructions avec un seul caractère ASCII. Le langage fonctionne en réalité sur le code ASCII décimal du caractère, il est donc encore assez flexible avec la moitié du clavier détruite.
Réduisez-le à 29 caractères, ce qui est possible après avoir utilisé moins de mémoire et augmenté l’espace de recherche:
J'ai décidé de lancer mon programme modifié sur l'ensemble des caractères autorisés et de réduire la solution à 31 caractères:
J'ai utilisé un programme pour rechercher cette solution. C'est l'une des nombreuses solutions renvoyées par mon programme, toutes de la même taille.
Ancienne version construite à la main. Je me souviens de rester jusqu'au matin pour faire ça.
Voici la interprète Insomnia pour les tests.
la source
Vim + PHP sur certains gestionnaires de fenêtres
65 touches en 44 coups, avec une pénalité de 10 points pour avoir utilisé =.
Une dépression:
aEACE<Alt+Tab>
: Entrez en mode annexe et insérez «EACE». Sortie.z=5<Alt+Tab>
: Effectuer une correction orthographique. Sélectionnez 5, “PEACE”. Sortie. ( Escsemble fonctionner commeEnter ici!)$xxxxaASSWRD<Alt+Tab>
: Aller au bout de la ligne. Supprimer 4 caractères et ajouterASSWRD
, résultant enPASSWRD
. Retour en mode normal. (Non,4x
ça ne marchera pas.)z=1<Alt+Tab>
:PASSWORD
Est probablement va être la première correction pour cela. Sélectionnez le.$a$aA<Alt+Tab>
: Allez au bout de la ligne et ajoutez a$aA
. Retour en mode normal.==
: Formatez joliment cette ligne de PHP en remplaçant le camelCase$aA
par$a_a
. Cela ramène également le curseur au début de la ligne.wxx
: Avancez un mot; le curseur est maintenant avant$
. Supprimer deux caractères - le$
et lea
- fairePASSWORD_a
.$r1
: Aller à la fin de la ligne et remplacer le caractère actuel (iea
) par1
, résultant enPASSWORD_1
.^X
: Décrémente l'entier sous le curseur, résultant enPASSWORD_0
.a1
: Enfin, ajoutez1
, pourPASSWORD_01
!la source
==
commande, cela change simplement le mode d'indentation dans ma configuration vi (debian 7, v7.3.547)Python 2, 75889 octets
Pas de personnage supplémentaire!
Malheureusement, le code est super long. Au lieu de cela, voici le code pour générer le programme:
Essayez-le en ligne
(pour exécuter le code, changez l’extérieur
print
en unexec
. Ou générez le programme, puis collez-le et exécutez-le. Ou copiez-le à partir de la boîte à copier liée ci-dessous.)Explication:
Le but est d'exécuter:
Pour éviter d'utiliser des
()+
caractères, nous devons utiliser plusieurs opérations de format de chaîne chaînées. Cela signifie que chaque étape ajoutée double le nombre de%
caractères requis pour chaque étape précédente:Cela ne suffit cependant pas, car certains des nombres requis ne peuvent pas être créés, et nous ne pouvons pas non plus créer
print
. Nous ajoutons donc un niveau d'abstraction avecexec
forprint
ing et un niveau pour les points de code ASCII avec lesquels nous ne pouvons pas créer de formatage. Ce qui suit est essentiellement ma réponse, mais avec chaque chaîne de caractères%
réduite à une seule (notez que la représentation%s%s%s%s%s
n’est pas exacte, sans prise en compte des littéraux%
requis avant chaque):La première étape: à l’extérieur
exec
:1>>1
:0
, Utilisé pour le0
dansPASSWORD_01
2531>>5
:79
, utilisé par l'exécutif interne pour créerO
321>>2
:80
, utilisé par l'exécutif interne pour créerP
1521>>4
:95
, utilisé par l'exécutif interne pour créer_
211>>1
:105
, utilisé par l'exécutif interne pour créeri
221>>1
:110
, utilisé par l'exécutif interne pour créern
Deuxième étape: préparer l'intérieur
exec
Après ce qui précède, l'intérieur
exec
est quelque chose comme ceci:Sauf que tu ne comprendrais pas tout à fait ça. Toujours avec les simplifications, vous obtiendrez ceci:
Les littéraux
%
doivent être inclus. Donc, fondamentalement, je devais en ajouter plusieurs avant chacune%s
pour finir avec les littéraux%
laissés après le formatage.2**11
d'eux. Fois cinq.Le reste des
exec
opérations de format de chaîne externe sont%112%34%34%34%34
. Le112
est pourp
, et les autres sont des guillemets. Après application, le résultat ressemble à ceci:Mais en réalité, il en a beaucoup plus
%
. C'est ça:La dernière étape consiste simplement à l'exécuter, après quoi vous obtenez la sortie nécessaire.
Code complet ici: http://pastebin.com/rSFs6DiH
la source
bash + vim (56)
Empruntant le Ctrl-XCtrl-Etruc bash de la solution de Thor, voici comment je le ferais dans bash + vim:
C-XC-E lance l'éditeur par défaut (généralement vim)
a démarre le mode insertion
.space ASSW
C-Vx4f inserts
O
RD
C-Vx5f inserts
_
1
C-3est équivalent à escape(pas seulement dans vim, mais n'importe où dans un terminal)
C-Xsoustrait 1 de la
1
je viens de tapera insérer de nouveau le mode
1 C-3
le contenu de la mémoire tampon est maintenant
. ASSWORD_01
<< unindent line (un no-op, puisque la ligne n'est pas en retrait) et déplacez le curseur vers la 1ère colonne
a
C-X commencer le mot complet
C-V complet avec ex commande
C-V 9 fois plus sélectionne l'entrée
Print
C-3 retour au mode normal
XXXxx supprime
rint
< < retour à la colonne 1
ssupprimer
.
, lancer le mode insertione c C-X C-Vfin de la commande ex encore une fois, entrée
echo
déjà sélectionnée à cause duec
i que je viens de taperspace C-3 contenu de la mémoire tampon maintenant
echo PASSWORD_01
Z Z enregistrer le tampon, fermer vim, bash exécute le contenu du fichier, c.-à-d.
echo PASSWORD_01
À propos: C-3a beaucoup de frères utiles: C-Jis Enter, C-Iis Tab, C-His Backspace, C-2is C-@(ie un octet nul). Et pour les utilisateurs d’Emacs, il est bon de savoir que le Escapesuivi d’une autre clé équivaut à Alt+ cette clé. Donc, même sans Escapeet Altvous pouvez toujours taper Meta-x comme ceci:C-3x
la source
Perl, (31 + 10/41 + 10/64 + 10)
( ^clé utilisée, 3 façons)
print
au lieu dedie
Les scripts utilisent l'opérateur XOR de chaîne au niveau du bit de Perl
^
, qui effectue un XOR sur les bits de caractères des deux chaînes. Cela me permet de recréer les caractères manquants pour PASSWORD_01 et de créer les caractères pour la commande système.J'ai fait les trois variantes en fonction de la clémence des règles. Je suppose que puisque les variantes 2 et 3 affichent les mots sur Ideone, les solutions sont valables. J'ai enlevé la petite histoire que j'avais ici depuis que je pensais que personne ne la lirait, mais vous pouvez la lire dans les modifications si vous êtes curieux!
la source
Code oOo (300)
Facile. (Les sauts de ligne sont facultatifs, et juste ici pour rendre le code "plus lisible") Générateur de code utilisé:
Le même code dans un encodage moins idiot:
la source
ferNANDo, 179 + 10 = 189 octets
Essayez-le en ligne!
Enterutilisé. J'utiliserais
0
et1
pour rendre le code plus lisible mais je ne peux pas l'utiliser0
.la source
JS-Forth, 103 octets
La chaîne sera renvoyée sur la pile sous la forme d'un tableau de caractères.
Essayez-le en ligne - Version commentée
Explication:
J'ai d'abord trouvé la liste des mots autorisés . Les seules choses utiles que je pourrais utiliser seraient:
12345
Constantes numériques<<
Maj gauche>>
Décaler à droites>f
Push single to float stackf>d
Pop double de la pile floatfsqrt
Racine carrée sur pile flottanteDonc, je pourrais utiliser des constantes numériques, bit-shift et calculer une racine carrée en utilisant ce qui suit (
>>
remplacedrop
, déplace en0
pour supprimer le0
):Heureusement, j'ai trouvé des décalages minimes possibles pour chaque constante que je devais créer qui était plus courte que celle utilisant des racines carrées. Dans la plupart des cas, j'ai cherché en imprimant simplement chaque chiffre au carré, ou une plus grande puissance de deux si l'un d'entre eux contenait un chiffre
6-0
. Ensuite, j'ai réalisé que je pouvais utiliser la perte de précision def>d
pour trouver plus de possibilités. (Je pourrais ajouter au nombre, mais obtenir toujours la même racine carrée entière.) Un peu plus tard, j'ai commencé à utiliser le transfert de bits pour trouver certaines constantes, puis toutes. Plus le>>
décalage de bit est important, plus je peux ajouter au "nombre magique" et obtenir toujours le même résultat. J'ai donc trouvé les moindres décalages possibles pour obtenir les résultats nécessaires. Même les nombres peuvent parfois utiliser<<
, les cotes ont dû utiliser>>
.Code commenté (
\
commence un commentaire):gForth n'a pas les mots
<<
ou>>
. Au lieu de cela il alshift
etrshift
, que je ne pouvais pas utiliser .la source
Décimal ,
190180 + 10 = 190 octetsEssayez-le en ligne! Decimal est un langage ésotérique qui n'utilise que des décimales et la lettre
D
. Cependant, j'avais besoin de la pénalité de +10 car presque toutes les commandes sont utilisées0
.Heureusement, toutes les commandes nécessaires pour imprimer
PASSWORD_01
ne nécessitent pas de chiffres6
:12...D
- pousser un personnage2
- Pop une valeur41D
- pop top deux valeurs de pile, multiplier et pousser le résultat301
- print DSI (index de pile par défaut)En appuyant à plusieurs reprises sur des valeurs de caractère qui utilisent uniquement les chiffres 1 à 5, puis en les ajoutant, je peux créer les valeurs de caractère de chaque lettre
PASSWORD_01
.Ungolfed et commenté:
la source
Espace blanc , score: 111 (101 octets + 10 pour Enter)
Lettres
S
(espace),T
(tabulation) etN
(nouvelle ligne) ajoutées uniquement en surbrillance.[..._some_action]
ajouté comme explication seulement.Essayez-le en ligne (avec des espaces bruts, des onglets et des nouvelles lignes uniquement).
Explication en pseudo-code:
Cette solution est plus courte que la réponse existante dans l’ espace blanc ( @ n̴̖̋h̷͉̃ah̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ m’a demandé de l’afficher sous forme de réponse séparée lorsque je l’ai proposée en tant que golf) en utilisant cette astuce de Whitespace .
La constante
80
a été générée avec ce programme Java , que j'ai créé et utilisé pour certaines de mes précédentes réponses à Whitespace.la source
Stax , 91 + 10 octets
Essayez-le en ligne!
Utilise ]pour faire des singletons.
Explication
Voyons comment
"P"
est généré et comment"ASSW"
est ajouté sans utiliser l'habituel+
.Les autres ne font que répéter le même tour.
"a"EEE$"$"a$Re]R
échange les chiffres de"a"
ou[97]
pour faire[79]
ou"O"
et les ajoute à la chaîne."$""RD"R appends "RD"
."$""a"EEEd$"$""5"Re]R
utilise à"a"
nouveau pour obtenir"9"
et élimine le"7"
, puis combine le"9"
avec un littéral"5"
pour former[95]
ou"_"
, et l'ajoute à la chaîne."$"1 !$R
obtient un zéro par pas logique de 1 et l'ajoute à la chaîne."$""1"R
ajoute la finale"1"
et nous avons terminé.Sortie implicite.
la source
brainfuck , 400 + 10 (
+
) = 410 octetsEssayez-le en ligne!
la source
Code machine MS-DOS .COM 8086 (72 octets)
Le temps est précieux, alors ne perdez pas votre temps avec les compilateurs ou les interprètes! Ouvrez simplement votre éditeur de texte et tapez ce qui suit (remplacez
\t
par TAB):En tant qu'hexdump:
Enregistrez en tant que fichier .COM et exécutez-le pour enregistrer le jour.
Le code suppose certaines valeurs de départ pour les registres et risque donc de ne pas fonctionner pour tous les types de DOS. Espérons juste que quelqu'un risque d'être viré en n'achetant pas IBM.
Représentation légèrement plus compréhensible:
la source
Befunge-98, 43 +10 = 53 octets
Essayez-le en ligne!
La pénalité de 10 octets concerne l'utilisation de la
,
clé (vous ne savez pas pourquoi cela ne pourrait pas être accompli avec Shift+ <, mais cela semble être la règle). Et bien que la source soit techniquement de 40 caractères, les trois·
caractères apportent trois octets supplémentaires en raison de leur codage UTF-8.la source
05AB1E ,
8786 octetsEssayez-le en ligne!
Peut-être le plus long code 05AB1E?Malheureusement, le langage ne supporte pas des choses comme
"Q"<
"décrémenter Q pour obtenir P"Ma clé supplémentaire est le V.
Merci à Kevin Cruijssen pour -1 octet.
Code:
À titre de comparaison: la manière la plus rapide d’imprimer "PASSWORD_01" est de 6 octets de long.
Essayez-le en ligne!
la source
TR
au lieu de1<1
pour la01
partie de la sortie.Emacs, 26 octets (éventuellement + 10 = 36 ou - 2 = 24)
La clé supplémentaire qui est nécessaire dans cette réponse est Esc . Ceci est sur la moitié du clavier qui est encore intact, mais n'est pas mentionné dans la question pour une raison quelconque, donc pourrait ou ne pourrait pas donner une pénalité au score. ( Escet Altsont équivalents dans Emacs; Altest également sur la moitié intacte du clavier, mais n'est pas mentionné dans la question, mais doit être maintenu plutôt que tapoté afin que je ne puisse pas l'utiliser comme clé supplémentaire. Cela économiserait deux octets. , cependant, car il a un encodage plus court que le Escfait.)
Le programme lui-même (les virgules délimitent les limites entre les octets au format on-the-wire utilisé par Emacs pour accepter ses entrées):
Encodage en octets bruts pour prouver le nombre d'octets:
(Remarque: certains détails peuvent varier en fonction de la configuration d’Emacs; cette réponse nécessite quoted-char-radix soit défini sur 16 et qu’Emac utilise le dictionnaire de vérification orthographique qui est celui par défaut sur mon système britannique, anglais. paramètres de configuration raisonnables, mais il est possible que votre copie d’Emacs soit configurée différemment. Un dictionnaire différent donnerait tout de même un programme de 26 octets, mais des fautes d’orthographe légèrement différentes devront peut-être être utilisées pour que les corrections souhaitées puissent être acceptées par clés non affectées par balle.)
Explication
Je ne sais pas si cela devrait avoir une influence sur les guerres de l'éditeur, mais Emacs semble battre vim au moins dans le cas de cette question. Emacs est assez bien adapté au golf éditeur mesuré en octets, car il repose fortement sur des accords prenant plusieurs pressions de touche mais un seul octet (ainsi, un programme Emacs est souvent plus lent à taper que le programme Vim équivalent, mais plus court sur disque). En outre, la plupart des commandes Emacs les plus importantes se trouvent dans le coin inférieur gauche du clavier, pour être proche deCtrl très utile pour une question comme celle-ci.
"Vous pouvez supposer que l'éditeur d'interpréteur / source d'interprète est ouvert avant l'entrée des puces. Malheureusement, vous n'avez rien écrit avant le clavier.", Je suppose donc qu'un fichier vide est ouvert dans Emacs et besoin de taper le mot de passe dedans. (Nous aurions besoin de sauvegarder le fichier par la suite, et probablement de quitter Emacs, mais les octets correspondants ne sont pas comptés dans les réponses des autres personnes, donc je ne les compte pas ici non plus. C’est tout à fait réalisable d’utiliser le côté gauche du clavier, cependant, Ctrl- X, Ctrl- S, Ctrl- X,Ctrl - C.)
En prenant une commande (ou un bloc de commandes similaires) à la fois:
WS
dans le document.WS
Ce n'est pas un vrai mot, mais il trouve beaucoup de mots similaires à deux lettres.WS
àPS
. (Lorsque le correcteur orthographique est appelé à l'aide de Alt- $, comme cela est arrivé ici ( Escet Altéquivaut à Emacs), il ne vérifie qu'un mot, il est donc désactivé après l'avoir fait.)A
, donnerPSA
.PAS
.SRWD
, donnantPASSRWD
.PASSRWD
dansPASSWORD
. Notez que nous ne pouvons pas lui demander de deviner le mot que nous voulons lors de notre premier essai, comme il le ferait avecPASSWRD
, car la clé pour accepter le mot réel le plus proche est celle sur 0laquelle nous ne pouvons pas appuyer. En conséquence, la faute d’orthographe légèrement plus extrêmePASSRWD
est utilisée pour pousser le mot que nous voulons en position 5, où nous pouvons l’accepter._
. Le document se lit maintenantPASSWORD_
(ou le sera lorsque nous commencerons à taper la commande suivante; avant cela, le trait de soulignement n'apparaît pas si nous saisissons un autre chiffre hexadécimal).10
.PASSWORD_10
.PASSWORD_01
, comme la question demande.Si nous en avons le droit Alt, nous pouvons probablement coder la commande "invoke spellchecker" sous forme d'octet unique
a4
plutôt que de l'épeler de la manière suivante1b
24
: il apparaît deux fois, ce qui conduit à deux octets d'économies. (La plupart des terminaux modernes utilisent1b
24
comme codage Alt- $pour éviter les conflits avec UTF-8, mais lea4
codage est également rencontré de temps en temps, parfois disponible en tant qu'option de configuration.)Les économies d’octets possibles impliquent probablement des erreurs d’orthographe chez les golfeurs.
PSASWRD
serait un octet plus court à taper, mais malheureusement, le correcteur orthographique ne semble pas capable d’en glanerPASSWORD
cela,PASSRWD
c’est la meilleure approche que j’ai trouvée jusqu’à présent. L’approche de gagner basée sur les registres10
est également ridiculement lourde, mais il n’existe pas beaucoup de façons de créer des nombres à partir de nulle part dans Emacs, et .)0
c’est un personnage pénible à obtenir autrement. (Au moins, il y avait quelques coïncidences incroyablement utiles: le curseur arrive en fin de course10
, ce qui contient un0
, si nécessaire, et le fait qu'Emacs accepte le redondantg
opération de registre pour insérer le contenu d'un registre dans le document. , en plus du plus intuitifi
la source