Schreiben Sie ein Programm mit folgenden Eigenschaften:
Wenn das Programm so ausgeführt wird, wie es ist, erzeugt es keine Ausgabe (dh 0 Bytes Ausgabe).
Es gibt eine Position innerhalb des Programms (nach Wahl: am Anfang, am Ende oder irgendwo in der Mitte) mit der folgenden Eigenschaft: Wenn Sie das Programm durch Platzieren einer beliebigen Zeichenfolge dort ändern, wird diese Zeichenfolge vom resultierenden Programm gedruckt, wenn hingerichtet.
Dies muss unabhängig davon funktionieren, ob die Zeichenfolge Anführungszeichen, umgekehrte Schrägstriche, Kommentarzeichen, Begrenzer, NUL-Bytes usw. enthält. Unabhängig davon, was Sie dort platzieren, wird die Zeichenfolge weiterhin als Zeichenfolge interpretiert und vollständig wörtlich gedruckt. Es kann jedoch vorkommen, dass sehr sehr lange Zeichenfolgen nicht verarbeitet werden, wenn dem Compiler der Speicherplatz ausgeht oder dergleichen (genauer gesagt, Sie sollten mindestens in der Lage sein, Zeichenfolgen mit einer Länge von bis zu 1000 Byte oder dem Dreifachen der Länge zu verarbeiten) Dauer Ihres Programms (je nachdem, welcher Zeitraum länger ist).
Ein Beispiel für eine ungültige Lösung wäre
print("");
# ^ text goes here
in Python, Perl, Ruby usw .; Obwohl es für viele Zeichenfolgen funktioniert, funktioniert es nicht für eine Zeichenfolge, die ein doppeltes Anführungszeichen enthält, oder für eine Zeichenfolge, die die Teilzeichenfolge enthält \n
(die als Zeilenvorschub interpretiert wird).
Beachten Sie, dass dieses Problem in den meisten Sprachen wahrscheinlich unmöglich ist. Die Herausforderung besteht zumindest teilweise darin, eine Sprache zu finden, in der sie funktioniert. Ihre gewählte Sprache muss eine Programmiersprache gemäß der Definition dieser Site sein , z. B. keine Einreichung einer Lösung in Text .
Da dies ein Code-Golf ist , gewinnt die kürzeste Programmvorlage. Lassen Sie sich jedoch nicht davon abhalten, Lösungen einzureichen, auch wenn sie den aktuellen Gewinner nicht schlagen können! Sie können immer noch um den zweiten, dritten usw. Platz kämpfen oder einfach so viele Antworten wie möglich finden. Sie sollten jedoch sicherstellen, dass Ihr Programm die gesamte Spezifikation erfüllt, bevor Sie es einreichen. ungefähre Lösungen würden den Punkt des Problems verfehlen.
AWK
, 1
würde es einfach tun.