Aufgabe: Lassen Sie Ihr Programm zur Laufzeit nach dem Zufallsprinzip eines der beiden folgenden Anführungszeichen auswählen und genau wie gezeigt ausdrucken.
1:
Under the spreading chestnut tree
I sold you and you sold me.
There lie they, and here lie we
Under the spreading chestnut tree.
2:
WAR IS PEACE.
FREEDOM IS SLAVERY.
IGNORANCE IS STRENGTH.
Einschränkungen: Die Worte spreading
, chestnut
, PEACE
, FREEDOM
, und STRENGTH
muss im Code erscheinen. Kein Wort aus den beiden obigen Anführungszeichen darf mehrmals in Ihrem Code vorkommen .
Kürzeste Lösung gewinnt.
Antworten:
PHP 179
Inspiriert von der Antwort von es1024 .
quelle
Perl (
191184 Zeichen)Vielen Dank an @ core1024 für die Tipps zum Golfen.
quelle
"you"
$$&1
Java, 338
Ich kann es nicht unter 338 bekommen ...
Etwas ungolfed:
quelle
java.io.PrintStream p=System.out
, addierte 15 Bytes zur Gesamtsumme,,static<T>void p(T o){System.out.print(o);}
addierte 12). Irgendwelche anderen Vorschläge?Javascript 229
254 256Bearbeiten Sie 1 mit,
new Date
wie von @Doorknob vorgeschlagen - mir ist immer noch unklar, wie sich Javascript-Daten in Zeichenfolgen oder Ganzzahlen oder was auch immer verwandelnEdit 2 vereinfacht. Viel.
quelle
new Date
ist kürzer alsDate.now()
Date
Konvertierung: > Das JavaScript-Datum basiert auf einem Zeitwert, der seit dem 01. Januar 1970 (UTC) um Mitternacht Millisekunden beträgt. Ein Tag hält 86.400.000 Millisekunden. Der JavaScript-Datumsobjektbereich beträgt -100.000.000 Tage bis 100.000.000 Tage im Vergleich zum 01. Januar 1970 UTC. Wenn Sie&
es tun , wird es automatisch auf a geworfenNumber
. Sie treffen also im Grunde genommen die zufällige Wahl basierend darauf, ob es sich seit der1970-01-01T00:00:00.000Z
Epoche um eine gerade oder eine ungerade Millisekunde handelt .C #
(268) (260)(256)Dies ist in LINQPad unter Verwendung des Befehls ausführbar
Dump()
Methode :Ungolfed:
Aktualisieren:
Mit dem ternären Operator und 1 zusätzlichen Variablen konnte ich weitere 6 Zeichen ausschneiden:
Ungolfed:
Update2:
Dank des genialen Vorschlags von konnte
tsavinho
ich 4 weitere Zeichen sparen, indem ich Klammern um die ternäre Operation setzte:Ungolfed:
quelle
Python 3 - 228
Leicht ungolfed:
quelle
PowerShell 205
Verwendet den
-f
Operator, um Zeichenfolgen in das erste Anführungszeichen einzufügen, und das zweite wird verbundenIS
, danach wählt er ein zufälliges Element dieser beiden Anführungszeichen aus und druckt es aus ...quelle
JavaScript / jQuery 396
quelle
T-SQL,
337327Aus Spaß habe ich in T-SQL eine weitere Lösung erstellt, die ein Byte kürzer ist als meine Java 8-Lösung:
Wenn Sie
char
s als zu lang deklarieren , können Sie einen "automatischen" Speicherplatz hinzufügen, der einige Bytes einspart.Wenn Sie den Code in der vorgeschlagenen Bearbeitung durch den Benutzer PenutReaper verwenden, können Sie in der Tat 10 Bytes sparen.
quelle
Java Script (233)
Schrieb dies, ohne auf andere Antworten zu achten. Verwendet Zuweisungen als Ausdrücke.
quelle
05AB1E , 119 Bytes
Probieren Sie es online!
quelle
Python 3 , 222 Bytes
Probieren Sie es online!
quelle
C (GCC) ,
307289271 Bytes-36 bytes dank ceilingcat
Probieren Sie es online!
quelle