Du hast ein 3x3 Gitter. Jede Zelle kann schwarz oder weiß gefärbt sein. Zeige alle 512 dieser Farbtöne an. Wenigste Bytes gewinnt.
Sie können die Gitter in jeder Formation anzeigen, solange sie optisch getrennt sind und der Abstand gleichmäßig ist. Sie können ASCII-Grafiken oder Bilder verwenden. Für Schwarz und Weiß können zwei verschiedene sichtbare Symbole oder Farben verwendet werden. Jedes Leerzeichen ist in Ordnung, solange das Ergebnis visuell korrekt ist.
Beispielausgabe:
...
...
...
...
...
..X
...
...
.X.
...
...
.XX
...
...
X..
...
...
X.X
...
...
XX.
...
...
XXX
...
..X
...
...
..X
..X
...
..X
.X.
...
..X
.XX
...
..X
X..
...
..X
X.X
...
..X
XX.
...
..X
XXX
...
.X.
...
...
.X.
..X
...
.X.
.X.
...
.X.
.XX
...
.X.
X..
...
.X.
X.X
...
.X.
XX.
...
.X.
XXX
...
.XX
...
...
.XX
..X
...
.XX
.X.
...
.XX
.XX
...
.XX
X..
...
.XX
X.X
...
.XX
XX.
...
.XX
XXX
...
X..
...
...
X..
..X
...
X..
.X.
...
X..
.XX
...
X..
X..
...
X..
X.X
...
X..
XX.
...
X..
XXX
...
X.X
...
...
X.X
..X
...
X.X
.X.
...
X.X
.XX
...
X.X
X..
...
X.X
X.X
...
X.X
XX.
...
X.X
XXX
...
XX.
...
...
XX.
..X
...
XX.
.X.
...
XX.
.XX
...
XX.
X..
...
XX.
X.X
...
XX.
XX.
...
XX.
XXX
...
XXX
...
...
XXX
..X
...
XXX
.X.
...
XXX
.XX
...
XXX
X..
...
XXX
X.X
...
XXX
XX.
...
XXX
XXX
..X
...
...
..X
...
..X
..X
...
.X.
..X
...
.XX
..X
...
X..
..X
...
X.X
..X
...
XX.
..X
...
XXX
..X
..X
...
..X
..X
..X
..X
..X
.X.
..X
..X
.XX
..X
..X
X..
..X
..X
X.X
..X
..X
XX.
..X
..X
XXX
..X
.X.
...
..X
.X.
..X
..X
.X.
.X.
..X
.X.
.XX
..X
.X.
X..
..X
.X.
X.X
..X
.X.
XX.
..X
.X.
XXX
..X
.XX
...
..X
.XX
..X
..X
.XX
.X.
..X
.XX
.XX
..X
.XX
X..
..X
.XX
X.X
..X
.XX
XX.
..X
.XX
XXX
..X
X..
...
..X
X..
..X
..X
X..
.X.
..X
X..
.XX
..X
X..
X..
..X
X..
X.X
..X
X..
XX.
..X
X..
XXX
..X
X.X
...
..X
X.X
..X
..X
X.X
.X.
..X
X.X
.XX
..X
X.X
X..
..X
X.X
X.X
..X
X.X
XX.
..X
X.X
XXX
..X
XX.
...
..X
XX.
..X
..X
XX.
.X.
..X
XX.
.XX
..X
XX.
X..
..X
XX.
X.X
..X
XX.
XX.
..X
XX.
XXX
..X
XXX
...
..X
XXX
..X
..X
XXX
.X.
..X
XXX
.XX
..X
XXX
X..
..X
XXX
X.X
..X
XXX
XX.
..X
XXX
XXX
.X.
...
...
.X.
...
..X
.X.
...
.X.
.X.
...
.XX
.X.
...
X..
.X.
...
X.X
.X.
...
XX.
.X.
...
XXX
.X.
..X
...
.X.
..X
..X
.X.
..X
.X.
.X.
..X
.XX
.X.
..X
X..
.X.
..X
X.X
.X.
..X
XX.
.X.
..X
XXX
.X.
.X.
...
.X.
.X.
..X
.X.
.X.
.X.
.X.
.X.
.XX
.X.
.X.
X..
.X.
.X.
X.X
.X.
.X.
XX.
.X.
.X.
XXX
.X.
.XX
...
.X.
.XX
..X
.X.
.XX
.X.
.X.
.XX
.XX
.X.
.XX
X..
.X.
.XX
X.X
.X.
.XX
XX.
.X.
.XX
XXX
.X.
X..
...
.X.
X..
..X
.X.
X..
.X.
.X.
X..
.XX
.X.
X..
X..
.X.
X..
X.X
.X.
X..
XX.
.X.
X..
XXX
.X.
X.X
...
.X.
X.X
..X
.X.
X.X
.X.
.X.
X.X
.XX
.X.
X.X
X..
.X.
X.X
X.X
.X.
X.X
XX.
.X.
X.X
XXX
.X.
XX.
...
.X.
XX.
..X
.X.
XX.
.X.
.X.
XX.
.XX
.X.
XX.
X..
.X.
XX.
X.X
.X.
XX.
XX.
.X.
XX.
XXX
.X.
XXX
...
.X.
XXX
..X
.X.
XXX
.X.
.X.
XXX
.XX
.X.
XXX
X..
.X.
XXX
X.X
.X.
XXX
XX.
.X.
XXX
XXX
.XX
...
...
.XX
...
..X
.XX
...
.X.
.XX
...
.XX
.XX
...
X..
.XX
...
X.X
.XX
...
XX.
.XX
...
XXX
.XX
..X
...
.XX
..X
..X
.XX
..X
.X.
.XX
..X
.XX
.XX
..X
X..
.XX
..X
X.X
.XX
..X
XX.
.XX
..X
XXX
.XX
.X.
...
.XX
.X.
..X
.XX
.X.
.X.
.XX
.X.
.XX
.XX
.X.
X..
.XX
.X.
X.X
.XX
.X.
XX.
.XX
.X.
XXX
.XX
.XX
...
.XX
.XX
..X
.XX
.XX
.X.
.XX
.XX
.XX
.XX
.XX
X..
.XX
.XX
X.X
.XX
.XX
XX.
.XX
.XX
XXX
.XX
X..
...
.XX
X..
..X
.XX
X..
.X.
.XX
X..
.XX
.XX
X..
X..
.XX
X..
X.X
.XX
X..
XX.
.XX
X..
XXX
.XX
X.X
...
.XX
X.X
..X
.XX
X.X
.X.
.XX
X.X
.XX
.XX
X.X
X..
.XX
X.X
X.X
.XX
X.X
XX.
.XX
X.X
XXX
.XX
XX.
...
.XX
XX.
..X
.XX
XX.
.X.
.XX
XX.
.XX
.XX
XX.
X..
.XX
XX.
X.X
.XX
XX.
XX.
.XX
XX.
XXX
.XX
XXX
...
.XX
XXX
..X
.XX
XXX
.X.
.XX
XXX
.XX
.XX
XXX
X..
.XX
XXX
X.X
.XX
XXX
XX.
.XX
XXX
XXX
X..
...
...
X..
...
..X
X..
...
.X.
X..
...
.XX
X..
...
X..
X..
...
X.X
X..
...
XX.
X..
...
XXX
X..
..X
...
X..
..X
..X
X..
..X
.X.
X..
..X
.XX
X..
..X
X..
X..
..X
X.X
X..
..X
XX.
X..
..X
XXX
X..
.X.
...
X..
.X.
..X
X..
.X.
.X.
X..
.X.
.XX
X..
.X.
X..
X..
.X.
X.X
X..
.X.
XX.
X..
.X.
XXX
X..
.XX
...
X..
.XX
..X
X..
.XX
.X.
X..
.XX
.XX
X..
.XX
X..
X..
.XX
X.X
X..
.XX
XX.
X..
.XX
XXX
X..
X..
...
X..
X..
..X
X..
X..
.X.
X..
X..
.XX
X..
X..
X..
X..
X..
X.X
X..
X..
XX.
X..
X..
XXX
X..
X.X
...
X..
X.X
..X
X..
X.X
.X.
X..
X.X
.XX
X..
X.X
X..
X..
X.X
X.X
X..
X.X
XX.
X..
X.X
XXX
X..
XX.
...
X..
XX.
..X
X..
XX.
.X.
X..
XX.
.XX
X..
XX.
X..
X..
XX.
X.X
X..
XX.
XX.
X..
XX.
XXX
X..
XXX
...
X..
XXX
..X
X..
XXX
.X.
X..
XXX
.XX
X..
XXX
X..
X..
XXX
X.X
X..
XXX
XX.
X..
XXX
XXX
X.X
...
...
X.X
...
..X
X.X
...
.X.
X.X
...
.XX
X.X
...
X..
X.X
...
X.X
X.X
...
XX.
X.X
...
XXX
X.X
..X
...
X.X
..X
..X
X.X
..X
.X.
X.X
..X
.XX
X.X
..X
X..
X.X
..X
X.X
X.X
..X
XX.
X.X
..X
XXX
X.X
.X.
...
X.X
.X.
..X
X.X
.X.
.X.
X.X
.X.
.XX
X.X
.X.
X..
X.X
.X.
X.X
X.X
.X.
XX.
X.X
.X.
XXX
X.X
.XX
...
X.X
.XX
..X
X.X
.XX
.X.
X.X
.XX
.XX
X.X
.XX
X..
X.X
.XX
X.X
X.X
.XX
XX.
X.X
.XX
XXX
X.X
X..
...
X.X
X..
..X
X.X
X..
.X.
X.X
X..
.XX
X.X
X..
X..
X.X
X..
X.X
X.X
X..
XX.
X.X
X..
XXX
X.X
X.X
...
X.X
X.X
..X
X.X
X.X
.X.
X.X
X.X
.XX
X.X
X.X
X..
X.X
X.X
X.X
X.X
X.X
XX.
X.X
X.X
XXX
X.X
XX.
...
X.X
XX.
..X
X.X
XX.
.X.
X.X
XX.
.XX
X.X
XX.
X..
X.X
XX.
X.X
X.X
XX.
XX.
X.X
XX.
XXX
X.X
XXX
...
X.X
XXX
..X
X.X
XXX
.X.
X.X
XXX
.XX
X.X
XXX
X..
X.X
XXX
X.X
X.X
XXX
XX.
X.X
XXX
XXX
XX.
...
...
XX.
...
..X
XX.
...
.X.
XX.
...
.XX
XX.
...
X..
XX.
...
X.X
XX.
...
XX.
XX.
...
XXX
XX.
..X
...
XX.
..X
..X
XX.
..X
.X.
XX.
..X
.XX
XX.
..X
X..
XX.
..X
X.X
XX.
..X
XX.
XX.
..X
XXX
XX.
.X.
...
XX.
.X.
..X
XX.
.X.
.X.
XX.
.X.
.XX
XX.
.X.
X..
XX.
.X.
X.X
XX.
.X.
XX.
XX.
.X.
XXX
XX.
.XX
...
XX.
.XX
..X
XX.
.XX
.X.
XX.
.XX
.XX
XX.
.XX
X..
XX.
.XX
X.X
XX.
.XX
XX.
XX.
.XX
XXX
XX.
X..
...
XX.
X..
..X
XX.
X..
.X.
XX.
X..
.XX
XX.
X..
X..
XX.
X..
X.X
XX.
X..
XX.
XX.
X..
XXX
XX.
X.X
...
XX.
X.X
..X
XX.
X.X
.X.
XX.
X.X
.XX
XX.
X.X
X..
XX.
X.X
X.X
XX.
X.X
XX.
XX.
X.X
XXX
XX.
XX.
...
XX.
XX.
..X
XX.
XX.
.X.
XX.
XX.
.XX
XX.
XX.
X..
XX.
XX.
X.X
XX.
XX.
XX.
XX.
XX.
XXX
XX.
XXX
...
XX.
XXX
..X
XX.
XXX
.X.
XX.
XXX
.XX
XX.
XXX
X..
XX.
XXX
X.X
XX.
XXX
XX.
XX.
XXX
XXX
XXX
...
...
XXX
...
..X
XXX
...
.X.
XXX
...
.XX
XXX
...
X..
XXX
...
X.X
XXX
...
XX.
XXX
...
XXX
XXX
..X
...
XXX
..X
..X
XXX
..X
.X.
XXX
..X
.XX
XXX
..X
X..
XXX
..X
X.X
XXX
..X
XX.
XXX
..X
XXX
XXX
.X.
...
XXX
.X.
..X
XXX
.X.
.X.
XXX
.X.
.XX
XXX
.X.
X..
XXX
.X.
X.X
XXX
.X.
XX.
XXX
.X.
XXX
XXX
.XX
...
XXX
.XX
..X
XXX
.XX
.X.
XXX
.XX
.XX
XXX
.XX
X..
XXX
.XX
X.X
XXX
.XX
XX.
XXX
.XX
XXX
XXX
X..
...
XXX
X..
..X
XXX
X..
.X.
XXX
X..
.XX
XXX
X..
X..
XXX
X..
X.X
XXX
X..
XX.
XXX
X..
XXX
XXX
X.X
...
XXX
X.X
..X
XXX
X.X
.X.
XXX
X.X
.XX
XXX
X.X
X..
XXX
X.X
X.X
XXX
X.X
XX.
XXX
X.X
XXX
XXX
XX.
...
XXX
XX.
..X
XXX
XX.
.X.
XXX
XX.
.XX
XXX
XX.
X..
XXX
XX.
X.X
XXX
XX.
XX.
XXX
XX.
XXX
XXX
XXX
...
XXX
XXX
..X
XXX
XXX
.X.
XXX
XXX
.XX
XXX
XXX
X..
XXX
XXX
X.X
XXX
XXX
XX.
XXX
XXX
XXX
code-golf
ascii-art
graphical-output
combinatorics
grid
Filipe Teixeira
quelle
quelle
1
s und0
s durchX
und ersetzt werden.
Antworten:
K, 11 Bytes
Ausgabebeispiel:
Dies ist Ks native hübsch gedruckte Darstellung einer Liste von Matrizen, die meiner Meinung nach für die Problemspezifikation ausreicht. Jede Matrix wird durch ein umschließendes Klammerpaar begrenzt.
Und eine schnelle Überprüfung der Vernunft, um zu demonstrieren, dass 512 Matrizen konstruiert sind:
Sehr einfach. Die meiste Arbeit ist in der
!
. Zuerst erzeugen wir mit "take" (9#2
) einen 9-langen Vektor von 2s . Dann verwenden wir die monadische Form des "Kilometerzählers" von!
- einige Beispiele veranschaulichen sein Verhalten:Dann machen Sie einfach eine 3x3-Umformung (
(3 3#)
) von jedem ('
) der 9-Längen-0/1-Vektoren.quelle
Mathematica, 25 Bytes
Gibt ein Array mit allen Rastern als Bilder aus, das auch direkt auf dem Bildschirm angezeigt wird:
(Zugeschnitten, um den Pfosten nicht unnötig zu sprengen.)
quelle
JavaScript, 77
80Überarbeitet nach der Überarbeitung des OP. Jetzt haben wir eine Frage, also hier ist eine Antwort.
Führen Sie das Snippet zum Testen in einem beliebigen Browser aus.
Alter Beitrag: Grafische Darstellung in einem Browser mit Javascript und Canvas. ~ 300 Byte Code (kann kürzer gemacht werden).
Führen Sie das folgende Snippet aus.
quelle
(ES6)
, können Sie durch.join('\n')
.join `` (wörtliche Zeilenvorschub, kein Leerzeichen ... dumme Kommentarformatierung) ersetzen , um 3 Bytes zu sparenMatlab, 33
War ein bisschen umständlich die richtigen Maße zu bekommen, aber ich bin sehr zufrieden mit dem Ergebnis!
quelle
POWERSHELL - 65
Ergebnis
Bestätigung
Bearbeitet, inspiriert von der Anzeige der Ergebnisse in Mathematica-617
quelle
Python 2, 49 Bytes
Teilen Sie die binäre Erweiterung von
i
. Die Länge-10-Binärwerte 512 bis 1023 werden verwendet, wobei die anfängliche 1 (und das Präfix0b
) abgeschnitten werden . Diese sind aufgeteilt in Stücke von 3 als Fenster[3:6]
,[6:9]
,[9:12]
, und[12:15]
, mit dem letzten leer , um eine leere Zeile zu machen. Das Iterieren über die vier Schichten wird mit der äußeren Schleife des Zählens durch 512 Zahlen mit dem Divmod-Trick reduziert.quelle
CJam, 12 Bytes
Teste es hier.
Verwendet
0
und1
als die verschiedenen Zeichen.Erläuterung
Eine alternative (noch 12 Byte) Lösung ist
quelle
Ruby, 86 Bytes
Meins druckt mit Anführungszeichen, weil
p
kürzer alsputs
, aber es entspricht immer noch den Regeln.quelle
Haskell,
5754 Bytesf
gibt die gleiche Ausgabe aus wie in der Challenge-Beschreibung, dh es beginnt mitEdit: @Mauris hat 3 Bytes zum Speichern gefunden. Vielen Dank!
quelle
r x=sequence[x,x,x]
macht das gleiche und ist kürzer.C # - 111
Konvertiert jedes int in seine binäre Darstellung und teilt alle 3 Zeichen.
quelle
Python 2, 95 Bytes
Unterschiedliche Zeichen sind
0
und1
, jeder Block wird durch getrennt\n\n
.quelle
Python 2, 81
quelle
Ruby, 92 Bytes
Zählt in
0
s und1
s und jeder Block wird durch eine Leerzeile getrennt (\n\n
)quelle
Ruby, 68 Bytes
Druckt genau die gleiche Ausgabe wie im Beispiel in der Frage
quelle
tr
, auszugeben0
und1
ist in Ordnung. Noch ein paar Vorschläge512.times{|i|$><<("%09b"%i).gsub(/.../){$&+$/}+$/}
50 Bytes.Python 3, 80 Bytes
Ich habe es geschafft, jemanden zu übertreffen :)
quelle
i=512
newlinewhile i:print("\n".join(format(i,'09b')[j:j+3]for j in(0,3,6)),"\n");i-=1
PHP, 55 Bytes
verwendet
0
und1
. Laufen Sie mit-r
.quelle
Pyth, 11 Bytes
Probieren Sie es hier aus!
Vielen Dank @ Jakube :)
quelle
Python 2 , 56 Bytes
Probieren Sie es online!
Gibt die 512-Konfigurationen als gesetztes Objekt in Python zurück. Beziehen Sie sich auf die ungolfed version, um die Ausgabe besser lesbar zu machen.
Ungolfed-Version, um die Ausgabe lesbarer zu machen:
Python 2 , 121 Bytes
Probieren Sie es online!
quelle
C - 97 Bytes
Druckt grundsätzlich die Beispielausgabe der ursprünglichen Frage.
quelle
Swift 2, 92 Bytes
Int to binary string in Swift nimmt zu viele Zeichen in Anspruch, daher verwende ich nur zwei verschachtelte Schleifen ...
quelle
Prolog (SWI), 98 Bytes
Die Ausgabe ist eine Liste von 3x3-Matrizen, die die Elemente 0 und 1 enthalten.
Online-Dolmetscher
Ich denke, die Matrixgeneration könnte kürzer sein.
Es sollte möglich sein, das dazwischen in ein Forum oder ähnliches zu setzen, aber ich kann nicht herausfinden, wie.
Golftipps geschätzt.
quelle
Perl,
5655 BytesAusgabe:
quelle
Python 3,
123121109103 BytesHier ist meine alte:
Und hier ist meine neue:
Dies druckt zusätzliche Zeichen, aber das OP sagt, dass ASCII-Kunst erlaubt ist, was impliziert, dass mehrere Zeichen in Ordnung sind.
quelle
Python 3, 74 Bytes
Nur ein bisschen kürzer als die Antwort von Destructible Lemon
quelle
Perl, 52 Bytes
oder 54 Bytes:
oder Perl 5.14+, 48 Bytes:
quelle
Gelee , 17 Bytes (nicht konkurrierend)
Probieren Sie es online!
Verwendet
01
. Wegen eines Bugs in⁾
musste ich“¶¶
statt verwenden⁾¶¶
, da sonst anstelle von zwei Zeilenumbrüchen zwei Pilcrows in der Ausgabe aufgetaucht wären. Wie Sie jedoch sehen können, hat mich das überhaupt keine Bytes gekostet.K schlägt das, also muss das weiter abgespielt werden.
quelle
05AB1E , 15 Bytes (nicht konkurrierend)
Probieren Sie es online!
quelle
J , 27 Bytes
Probieren Sie es online!
quelle
echo _3]\"1#:i.512
.Tcl , 72 Bytes
Probieren Sie es online!
quelle
Python 2 , 114 Bytes
Probieren Sie es online!
quelle