Sie müssen ein Programm oder eine Funktion schreiben, die bei Angabe einer nicht leeren Zeichenfolge S mit N druckbaren ASCII-Zeichen † ein Programm ausgibt, das mit dem Beendigungscode C beendet wird , wobei C der ASCII-Codepunkt an Position 0 in S ist . Dieses von Ihnen geschriebene Programm gibt zusätzlich ein Programm P aus , so dass es beim Ausführen mit dem Exit-Code C 'beendet wird , wobei C' der ASCII-Codepunkt an Position 1 in S ist . Das Programm P gibt ein anderes Programm P 'aus . Dieser Vorgang wiederholt sich, bis in S keine Zeichen mehr vorhanden sind. Danach müssen Sie nichts mehr ausgeben, gefolgt von einem optionalen Zeilenumbruch. und sollte mit Exit-Code 0 beenden.
† Die Zeichen zwischen 0x20
und 0x7e
einschließlich.
Noch ein paar Regeln:
- Selbstmodifizierende Programme sind nicht zulässig: Sie müssen die Quelle an STDOUT ausgeben (oder zunächst einen Wert zurückgeben).
- Möglicherweise lesen Sie Ihren eigenen Quellcode nicht.
Das kürzeste derartige Programm in Bytes gewinnt.
Für einige rudimentäre Tests kann dieses Ruby-Skript verwendet werden. (Das erste Argument ist die Art und Weise, wie Sie das Skript aufrufen, das zweite das Programm und das dritte die Eingabezeichenfolge.)
Hypothetisches Beispiel
Sprich das Programm ist FOO
. Wenn die Zeichenfolge "ABC" angegeben wird, wird ausgegeben BARA
. Dieses Programm wird mit Code 65
und Ausgaben beendet BARB
. Dies wird wiederum mit Code 66
und Ausgaben beendet BARC
. Dieses Programm wird mit Code 67
und Ausgaben beendet BAR!
. Dies gibt nichts aus und wird mit Code beendet 0
.
33 throw
eine beliebige Zahl werfen. Sie verwenden Negative für die Betriebssystemebene und der Offset beträgt -512. Idk auch viel, aber ich suche hier: complang.tuwien.ac.at/forth/gforth/Docs-html/…
0
ist Erfolg. tio.run/nexus/…