"Zuerst kamen sie ..." ist ein Gedicht von Martin Niemöller :
First they came for the Socialists, and I did not speak out-
Because I was not a Socialist.
Then they came for the Trade Unionists, and I did not speak out-
Because I was not a Trade Unionist.
Then they came for the Jews, and I did not speak out-
Because I was not a Jew.
Then they came for me-and there was no one left to speak for me.
Ihre Aufgabe ist es, die oben genannten auszugeben. Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
Regeln
- Sie können zusätzliche Leerzeichen einfügen, die das Erscheinungsbild nicht beeinflussen. Eine einzelne nachgestellte Zeile ist zulässig.
- Andernfalls muss die Ausgabe genau übereinstimmen, einschließlich der Position der Zeilenumbrüche.
- Gemäß den Metastandards können Sie eine Liste von Zeichenfolgen ausgeben. Sie müssen jedoch die Leerzeilen einfügen.
Beachten Sie, dass ich persönlich der Meinung bin, dass dies kein Schwachsinn ist, da das Gedicht so aufgebaut ist - es erfordert etwas Kreativität, um Golf zu spielen. Eine Metadiskussion darüber, ob dies ein Betrug ist oder nicht, finden Sie hier .
code-golf
kolmogorov-complexity
Stephen
quelle
quelle
Antworten:
SOGL V0.12 ,
103102101 BytesProbieren Sie es hier aus!
Erklärung (hier habe ich die komprimierten Zeichenfolgen durch ersetzt
..
, um Platz zu sparen):quelle
6502 Maschinencode (C64), 229 Bytes
Irgendwie langweilig, machbar noch auf einem C64 mit einer etwas anständigen Menge an Bytes :)
Online-Demo
Verwendung:
SYS49152
Erläuterung:
Da dies hauptsächlich Daten enthält, anstelle einer sinnlosen Disassembly-Auflistung, ist hier die
ca65
Assembly-Quelle im -Stil, die diesen Maschinencode erstellt:quelle
Python 3 , 209 Bytes
Probieren Sie es online!
-5 danke an Felipe Nardi Batista .
quelle
Perl 6 , 193 Bytes
Probieren Sie es online!
quelle
Perl 5 , 185 Bytes
Probieren Sie es online!
Danke an @ Massa für -3 Bytes!
quelle
C 248 Bytes
Vielen Dank an @ Zacharý für das Speichern von 9 Bytes.
Probieren Sie es online!
quelle
s
direkt in dieprintf
Aussage einsteigen?C # (.NET Core) ,
248246242 BytesAktuelle Zeilenumbrüche haben mir ein paar Bytes erspart.
Probieren Sie es online!
2 Bytes gespart dank Business Cat
quelle
Python 3 , 203 Bytes
Probieren Sie es online!
quelle
Befunge-93 , 348 Bytes
Probieren Sie es online!
quelle
Befunge,
293274270 BytesProbieren Sie es online!
Dies ist eine andere Herangehensweise an die vorhandene Befunge-Lösung. Es verwendet eine Art verknüpfte Liste, um ein Wörterbuch der gebräuchlichen Phrasen zu speichern, und hat dann nur eine einfache Liste von Werten auf dem Stapel, die die Reihenfolge darstellt, in der die Phrasen ausgegeben werden sollen.
quelle
Netzhaut , 176 Bytes
Probieren Sie es online! Erklärung: Die
1
und2
sind nur wiederholte Zeichenfolgen, die lang genug sind, um dedupliziert zu werden. DasFirst
wird später hinzugefügt, um es einfacher zu machen, den Platzhalter für den sich wiederholenden Teil auszuwählen: "Sie kamen für die [Gruppe], und ich habe nicht gesprochen - weil ich keine [Gruppe] war. Dann", der durch erweitert wird die zweite Stufe.quelle
JavaScript (ES6),
231227223221 ByteVersuch es
quelle
Java 8,
250236 BytesProbieren Sie es hier aus.
quelle
JavaScript (ES6),
210207206203 BytesEine andere Herangehensweise an meine andere Lösung ergab, dass es sich lohnte, sie zu einer eigenen Antwort zusammenzufassen, nachdem die Herausforderung wieder eröffnet wurde.
Versuch es
quelle
Gaia ,
179175 BytesProbieren Sie es online!
Erläuterung
Hier sind 3 Funktionen definiert (1 pro Zeile). Der unterste wird zuerst aufgerufen.
¶
wird durch Zeilenumbrüche ersetzt.quelle
Bubblegum ,
149132129 BytesProbieren Sie es online!
Langweilige Bubblegum Antwort. Wurde bereits von SOGL geschlagen, das ist also gut.
Guthaben für -17 Bytes geht an Dom Hastings
-3 bytes von ovs
quelle
SQL 269 Bytes
quelle
"Then "
so fehlen meines Erachtens die führenden Wörter in den letzten drei Sätzen, und der letzte Satz lautet jetzt"They came for the me-..."
statt"Then they came for me-..."
.PowerShell,
211202198 Bytes-13 Bytes dank @Veskah
Probieren Sie es online!
Ich bin sicher, das kann ein bisschen runtergolfen werden.
quelle
Proton , 219 Bytes
Probieren Sie es online!
quelle
Python 2, 246 Bytes
Zum ersten Mal habe ich versucht, die Zeichenfolge zu komprimieren und zurückzugeben. Offensichtlich sind mehr Bytes erforderlich als bei anderen Ansätzen. Gibt es noch etwas zum Golfen?
Probieren Sie es online!
quelle
Röda , 204 Bytes
Probieren Sie es online!
quelle
PHP, 194 Bytes
Probieren Sie es online aus .
quelle
C (gcc) , 244 Bytes
Probieren Sie es online!
quelle
Python 3 , 208 Bytes
Probieren Sie es online!
-1 danke an @Step Hen
quelle
Then "for
->Then"for
und Sie schlagen die anderen Python-Antworten :)Clojure, 285 Bytes
Dies war eine lustige kleine Herausforderung. Ich habe das meiste ein paar Mal fast komplett umgeschrieben, weil mir klar wurde, dass ich etwas übermäßig Umständliches mache. Es gibt noch ein paar Bereiche, die möglicherweise ausgebessert werden könnten, aber ich bin ziemlich zufrieden mit dem Ergebnis, auch wenn ich das Original nur um 54 Byte "komprimiere".
repl.io
Eine Erklärung finden Sie im Code vor dem Golfen:
quelle
Japt ,
153150149147 BytesProbier es aus
Dank Oliver 1 Byte gespart
quelle
05AB1E ,
124119 BytesProbieren Sie es online aus.
Erläuterung:
Sehen Sie sich meinen Tipp 05AB1E an (Abschnitte Verwendung des Wörterbuchs und Komprimieren von Zeichenfolgen, die nicht Teil des Wörterbuchs sind ), um zu verstehen, warum:
.•RYÁ Wö∍®Ø’áÅÚ)’Òü•
ist"socialistxtrade unionistxjew"
„€Û‚½
ist"first then"
“ÿ€»‹é€‡€€ ÿs,€ƒ Iƒ§€–¡´€Ä-“
ist"ÿ they came for the ÿs, and I did not speak out-"
“ƒ« I€¥€–€… ÿ.“
ist"because I was not a ÿ."
“€á-and€Ç€¥€¸€µ…¸€„¡´€‡€á.“
ist"me-and there was no one left to speak for me."
quelle
Text , 348 Bytes
Dies ist die kürzest mögliche Version in ihrer Sprache und entspricht der Antwort von Befunge-93 zum Zeitpunkt des Schreibens.
quelle