Unten sehen Sie ein (schematisches) digitales Zeitdiagramm für das XNOR- Logikgatter.
┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐
A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └──
┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐
B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └
┌─────┐ ┌─┐ ┌─┐ ┌───┐
X ──┘ └───┘ └───┘ └───┘ └────
Ihr Ziel ist es, es genau wie abgebildet zu reproduzieren.
Regeln:
Sie können es entweder drucken oder eine mehrzeilige Zeichenfolge zurückgeben.
Eine beliebige Anzahl von Traling- und / oder führenden Zeilenumbrüchen ist zulässig.
Nachgestellte (aber nicht führende!) Leerzeichen sind zulässig.
Wenn Sie die erweiterten ASCII-Boxzeichen nicht verwenden können, können Sie die Unicode-Entsprechungen durch diese ersetzen (ohne Byte-Strafe).
Dies ist Code-Golf, also gewinnt die kürzeste Antwort in Bytes.
Binäre Darstellung
Die binäre Darstellung des obigen Diagramms lautet wie folgt:
INP A=0101011101010110
INP B=1101101011100101
___
X=A⊕B=0111001001001100
Beispielausgabe
Randnotiz
Während ich an dieser Frage arbeite, habe ich zwei verschiedene Bash-Lösungen implementiert, eine ist 122 Zeichen / Bytes lang (wie oben dargestellt) und eine andere ist genau 100 Bytes lang.
Ich habe nicht vor, sie zu veröffentlichen (da ich normalerweise keine Antworten auf meine eigenen Fragen veröffentliche), daher dient dies nur als Referenz.
Ich glaube auch, dass mindestens einige Sub-100-Byte-Lösungen möglich sind.
Antworten:
05AB1E , 101 Bytes
+ 5 UTF-8 Bytes = 116 Gesamtbytes =106 Bytes(LEGACY 05AB1E VERSION, NICHT MEHR AUF TIO)
Probieren Sie es online aus!
Die Komprimierung:
Die Umwandlung:
Verwenden der CP-1252- Codierung.
quelle
Åв
(ich habe auch den ASCII-Art-Generator-Tipp damit aktualisiert ): 106 BytesBubblegum , 76 Bytes
Probieren Sie es online aus!
Verwendet Box-Zeichen aus dem alternativen Zeichensatz VT100, die TIO nicht demonstrieren kann. Führen Sie die besten Ergebnisse in einem UNIX-Terminal aus. Mein Terminal konvertiert das ACS beim Kopieren und Einfügen in UTF-8, sodass Sie den Effekt hier sehen können.
Die Herausforderung bestand nicht darin, das Terminal wieder aus dem ACS-Modus zu entfernen, bevor wir zur Shell zurückkehren. Viel Glück damit.
quelle
Ruby, 113 Bytes
Zählen gedruckter Symbole als ein Byte, wie von der Herausforderung autorisiert (Ich war überrascht zu entdecken, dass es sich tatsächlich um 3 Bytes handelt.)
6 Ausgabezeilen eignen sich für eine Codierung von 6 Bit pro Zeichen der magischen Zeichenfolge. Aber die magischen Zeichenfolgen codieren tatsächlich für jeden Übergang folgendermaßen:
Dies wird dekodiert, um die 2 Zeichen zu finden, die für jeden Übergang gedruckt werden müssen (das erste ist entweder ein Leerzeichen oder eine horizontale Linie). Die 8-Zeichen-Zeichenfolgen für die obere und untere Zeile überlappen sich: Die letzten beiden Zeichen für die obere Zeile
11
sind zwei horizontale Linien, die mit den Anforderungen für die ersten beiden Zeichen der unteren Zeile übereinstimmen00
. Die 8 Zeichen für die untere Zeile werden umbrochen: Es handelt sich um die letzten 6 und ersten 2 Zeichen der Symbolzeichenfolge.Ungolfed Code
quelle
If you can not use the extended ASCII box-drawing characters, you may substitute them for the unicode equivalents (at no byte penalty)
Wir haben alle unsere Antworten gemäß den Regeln bewertet.PowerShell, 255 Zeichen, 265 Byte (UTF-8)
Dies funktioniert auf meinem Computer, scheint aber die Bytes auf TIO nicht richtig zu analysieren ...
Dies
$a
ist eine mehrzeilige Zeichenfolge, die mit Zahlen und Leerzeichen gefüllt ist und dann Schleifen enthält0..4|%{...}
. Bei jeder Iteration geben wir-replace
die entsprechende Ziffer$_
mit dem entsprechenden Zeichen ein'┌─┐┘└'[$_]
und speichern sie wieder in$a
. Dann verlassen wir einfach$a
die Pipeline und die Ausgabe ist implizit.quelle
JavaScript (ES6),
163158154 BytesNB: Zählen von UTF-8-Zeichen als Bytes, wie von der Herausforderung autorisiert.
Demo
Code-Snippet anzeigen
4 Bytes dank Neil gespeichert
quelle
j%2?" ─"[p^i&1]:" ┐┌─└┘ "[p+(p=[27370,42843,12878][i>>1]>>j/2&1)*2+i%2*3]
spart 3 Bytes.C
213205 BytesZur Abwechslung ist die C-Programmgröße bei dieser Herausforderung im Vergleich zu anderen Sprachen nicht ganz lächerlich.
Ungolfed, definieren erweitert und kommentiert:
Hinweis: Die C- Zeichenfolge darf keine Unicode-Zeichen enthalten. Alle anzeigbaren Zeichen müssen einfache alte 8-Bit-Zeichen sein (sie können jedoch im erweiterten Bereich ausgewählt werden). Grundsätzlich hängt die Gültigkeit der Ausgabe von Ihrer Codepage ab.
quelle
tcl, 221 Zeichen, 299 Bytes
kann ausgeführt werden unter: http://rextester.com/live/VVQU99270
quelle