;#
ist eine sehr einfache Sprache. Es hat 2 Befehle:
;
erhöht den Akku#
gibt den Akkumulator Modulo 127 aus und setzt dann den Akkumulator zurück
;$
ist auch sehr einfach und ist sehr ähnlich (und existiert auch noch nicht). Es hat 2 Befehle:
;
erhöht den Akku$
gibt den Akku Modulo 127 aus. Der Akku wird jedoch nicht zurückgesetzt.
Herausforderung
Erstellen Sie ein Programm, das ;#
Code in ;$
Code konvertiert . Das heißt, bei Eingabe a
mit Standardmethoden ist die Ausgabe am kürzesten, b
so dass a
in ;#
Ausgaben dasselbe wie b
in ausgegeben wird ;$
. Die Eingabe enthält nur die Zeichen ';'
und '#'
. Die Eingabe enthält keine nachgestellten Semikolons. Das heißt, es wird mit dem regulären Ausdruck übereinstimmen (;*#)+
. Dies bedeutet auch, dass die Eingabe nicht leer ist. Beachten Sie, dass dies ;;;;##
möglich ist (entspricht ord(4) ord(0)
).
Beispiele
;# code -> ;$ code
;;;;;;;;;;#;;;;;;;;;;;;# -> ;;;;;;;;;;$;;$
;;;;;;;;;;;;;;#;;;# -> ;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# -> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;$$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ (Hello, World!)
;#
Fragen gibt. Sie sind nicht sehr interessant.;#
Herausforderungen war. Es war das erste nach dem Compiler und dem Transpiler IIRC.;#
Eingabe die kürzeste?Antworten:
JavaScript (ES6), 68 Byte
Beispiele
Code-Snippet anzeigen
quelle
Gelee , 18 Bytes
Probieren Sie es online aus!
Wie es funktioniert
quelle
PHP, 99 Bytes
quelle
J , 37 Bytes
Probieren Sie es online aus!
quelle
Python,
1011009785 Bytes1 Byte dank @WheatWizard gespeichert
quelle
)
undfor
Netzhaut , 52 Bytes
Probieren Sie es online aus! Beinhaltet Testsuite. Erklärung: 127 wird zu jedem hinzugefügt,
#
um das Subtraktionsmodulo 127 einfacher zu machen; Die#
s werden gleichzeitig geändert$
. Die Subtraktion selbst wird vom Lookbehind behandelt,(?<=\$\1(;{127})?\$\1)
wodurch sichergestellt wird, dass entweder die Anzahl der;
s zwischen den beiden vorherigen#
s subtrahiert wird (was den Fall behandelt, wenn mehr;
s vorhanden sind ) oder 127 weniger als diese Zahl (die den Fall behandelt, wenn weniger;
s vorhanden sind) und sie müssen über 127) wickeln. Ein Lookbehind wird verwendet, damit alle Ersetzungen in einem Durchgang berechnet werden können. Damit es immer zwei vorherige#
s gibt,#
werden vorübergehend zwei zusätzliche s vorangestellt.quelle
Perl 5
-p
, 65 BytesProbieren Sie es online aus!
quelle