Ci-dessous, un diagramme de temps numérique (schématique) pour la porte logique XNOR .
┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐
A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐
B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └
┌─────┐ ┌─┐ ┌─┐ ┌───┐
X ──┘ └───┘ └───┘ └───┘ └────
Votre objectif est de le reproduire exactement comme illustré.
Règles:
Vous pouvez l'imprimer ou renvoyer une chaîne multiligne;
Un nombre arbitraire de nouvelles lignes d'essai et / ou de début est autorisé;
Les espaces de fin (mais pas de tête!) Sont autorisés;
Si vous ne pouvez pas utiliser les caractères de dessin de boîte ASCII étendus, vous pouvez les remplacer par les équivalents Unicode (sans pénalité d'octet).
Il s'agit de code-golf donc la réponse la plus courte en octets l'emporte.
Représentation binaire
Pour votre commodité, la représentation binaire du diagramme ci-dessus est la suivante:
INP A=0101011101010110
INP B=1101101011100101
___
X=A⊕B=0111001001001100
Exemple de sortie
Sidenote
En travaillant sur cette question, j'ai implémenté deux solutions bash différentes, l'une de 122 caractères / octets de long (comme illustré ci-dessus) et l'autre de 100 octets de long exactement.
Je n'ai pas l'intention de les publier (car je ne publie pas normalement les réponses à mes propres questions), donc c'est juste pour référence.
Je pense également qu'au moins certaines solutions inférieures à 100 octets sont possibles.
Réponses:
05AB1E , 101 octets
+ 5octetsUTF-8 = 116 octets totaux =106 octets(VERSION LEGACY 05AB1E, N'EST PLUS SUR TIO)
Essayez-le en ligne!
La compression:
La conversion:
Utilisation de l' encodage CP-1252 .
la source
Åв
(j'ai également mis à jour la pointe du générateur ASCII-art avec cela): 106 octetsBubblegum , 76 octets
Essayez-le en ligne!
Utilise des caractères de dessin de boîte du jeu de caractères alternatif VT100, ce que TIO ne peut pas démontrer. Exécutez dans un terminal UNIX pour de meilleurs résultats. Mon terminal convertit l'ACS en UTF-8 sur copier-coller, vous pouvez donc voir l'effet ici.
Eh bien, le défi n'a pas dit que nous devons prendre le terminal arrière en mode ACS avant de revenir à la coquille. Bonne chance avec ça.
la source
Rubis, 113 octets
compter les symboles imprimés comme un octet comme autorisé par le défi (j'ai été surpris de découvrir qu'ils sont en fait de 3 octets.)
6 lignes de sortie se prêtent à un encodage de 6 bits pour chaque caractère de la chaîne magique. Mais les caractères de chaîne magique encodent en fait pour chaque transition ainsi:
Ceci est décodé pour trouver les 2 caractères qui doivent être imprimés pour chaque transition (dont le premier est soit un espace soit une ligne horizontale.) Les chaînes de 8 caractères pour les lignes supérieures et inférieures se chevauchent: Les deux derniers caractères pour la ligne supérieure
11
sont deux lignes horizontales, qui correspondent à ce qui est nécessaire pour les deux premiers caractères de la ligne inférieure00
. Les 8 caractères de la ligne inférieure s'enroulent: ce sont les 6 derniers et les 2 premiers caractères de la chaîne de symboles.Code non golfé
la source
If you can not use the extended ASCII box-drawing characters, you may substitute them for the unicode equivalents (at no byte penalty)
Nous avons tous marqué nos réponses selon les règles.PowerShell, 255 caractères, 265 octets (UTF-8)
Cela fonctionne sur mon ordinateur, mais ne semble pas analyser correctement les octets sur TIO ...
Il
$a
s'agit d'une chaîne de plusieurs lignes remplie de nombres et d'espaces, puis en boucle0..4|%{...}
. À chaque itération, nous avons-replace
le chiffre approprié$_
avec le caractère approprié'┌─┐┘└'[$_]
et le stockons dans$a
. Ensuite, nous laissons simplement$a
le pipeline et la sortie est implicite.la source
JavaScript (ES6),
163158154 octetsNB: compter les caractères UTF-8 comme octets, comme autorisé par le challenge.
Démo
Afficher l'extrait de code
4 octets enregistrés grâce à Neil
la source
j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]
enregistre 3 octets.C,
213205 octetsPour changer, la taille du programme C, sur ce défi, n'est pas complètement ridicule par rapport aux autres langages.
Non golfé, définir développé et commenté:
Remarque: la chaîne C ne doit pas contenir de caractères unicode. Tous les caractères affichables doivent être de simples anciens caractères 8 bits (mais ils peuvent être choisis dans la plage étendue). Donc, fondamentalement, la validité de la sortie dépend de votre page de codes.
la source
tcl, 221 caractères, 299 octets
peut être exécuté sur: http://rextester.com/live/VVQU99270
la source