(Dies ist eine Variation von Print a Negative Ihres Codes , die mir sehr gut gefallen hat! Dank an Martin Büttner ♦ - fast der gesamte Text stammt von ihm.)
Wir betrachten die Symbole als die folgenden druckbaren ASCII-Zeichen (beachten Sie, dass Leerzeichen enthalten sind):
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Und die alphanumerischen Zeichen dafür sind:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Betrachten Sie ein Quadrat aus druckbaren ASCII-Zeichen für die Seitenlänge N wie folgt:
ONE,
{two}
&3,+=
!four
f|ve.
Wir fordern auch, dass jede Zeile und jede Spalte mindestens ein Symbol und eine alphanumerische Zeichenfolge enthält. (Das obige Beispiel erfüllt dies.)
Wir definieren das symbolische Negativ eines solchen Quadrats als ein Quadrat gleicher Größe, bei dem jedes Symbol durch ein alphanumerisches ersetzt wird und umgekehrt. Das Folgende wäre beispielsweise ein gültiges symbolisches Negativ des obigen Beispiels:
[&]OK
a...b
1/100
i@#$%
(R) z
Die Auswahl bestimmter Zeichen ist irrelevant, solange sie in den obigen Kategorien sind.
Die Herausforderung
Ihre Aufgabe ist es, ein Programm mit quadratischem Quellcode mit der Seitenlänge N> 1 zu schreiben, das ein symbolisches Negativ seines Quellcodes an STDOUT ausgibt. Nachgestellte Leerzeichen müssen gedruckt werden. Sie können eine einzelne nachgestellte Zeile drucken oder nicht.
Es gelten auch die üblichen Quine-Regeln. Sie dürfen also weder direkt noch indirekt Ihren eigenen Quellcode lesen. Ebenso dürfen Sie keine REPL-Umgebung annehmen, die automatisch den Wert jedes eingegebenen Ausdrucks ausgibt.
Der Gewinner ist das Programm mit der niedrigsten Seitenlänge N. Im Falle eines Gleichstands gewinnt der Beitrag mit den wenigsten Symbolen im Quellcode. Wenn es immer noch ein Unentschieden gibt, gewinnt die früheste Antwort.
Antworten:
GolfScript, 3 × 3 (4 Symbole)
Probieren Sie es online im Web GolfScript aus .
Ausgabe
Wie es funktioniert
quelle
CJam, 3 × 3 (5 Symbole)
Probieren Sie es online im CJam-Interpreter aus .
Wie es funktioniert
Ausgabe
quelle
Pyth, 3x3, 4 Symbole
Ausgabe:
Erläuterung:
]1
.5
wird gedruckt als0.5
,;
beendet die Anweisung (tut in diesem Fall nichts)quelle
<alphanum><symbol><alphanum>
dachte lange und hart darüber nach, wie ich in Pyth oder CJam kommen könnte. Es ist mir nie in den Sinn gekommen, Schwimmer zu benutzen ... Gute Arbeit!C ++, 18 × 18
"Wählen Sie immer das schlechteste Werkzeug für den Job."
Ausgabe:
quelle