Ich kehre den Quellcode um, du kehrst die Eingabe um!

17

Noch eine krasse Abzocke einer Abzocke einer Abzocke . Geht und stimmt denen zu!

Wenn Sie es akzeptieren möchten, müssen Sie ein Programm / eine Funktion schreiben, das / die die Zeichenfolgeneingabe / das Argument ausgibt / zurückgibt. Der schwierige Teil ist, dass, wenn ich Ihren Quellcode umkehre, die Ausgabe auch umgekehrt werden muss.

Der Einfachheit halber können Sie davon ausgehen, dass die Eingabe immer eine einzelne Zeichenfolge ist, die nur ASCII-Buchstaben (az), Ziffern (0-9) und Leerzeichen enthält.

Sollte eine Eingabe von mindestens 8 Zeichen unterstützen (länger als 8 ist nicht erforderlich).

Das Verhalten bei Leereingabe ist undefiniert.

Beispiele

Nehmen wir an, Ihr Quellcode ist ABCund seine Eingabe ist xyz. Wenn ich CBAstattdessen schreibe und es laufen lasse, muss die Ausgabe sein zyx.

Nehmen wir an, Ihr Quellcode ist ABCund seine Eingabe ist 96. Wenn ich CBAstattdessen schreibe und es laufen lasse, muss die Ausgabe sein 69.

Ein einzelner führender oder nachfolgender Leerraum ist zulässig, solange er sowohl für normale als auch für umgekehrte Ausgaben konsistent ist.

Night2
quelle

Antworten:

16

JavaScript, 32 Bytes

s=>s//``nioj.)(esrever.]s...[>=s

Rückgängig gemacht:

s=>[...s].reverse().join``//s>=s
James
quelle
Gut gemacht, wusste nicht, dass JS kein eingebautes Reverse für Strings hat. Übrigens machen TIO-Links Antworten in der Regel sympathischer: Probieren Sie es online aus! Reversed
Night2
3
Es gibt keine Umkehrung der Zeichenfolge. [...s]Konvertiert in ein Array, das umgekehrt und dann als Zeichenfolge wieder zusammengefügt wird.
James
Wenn Sie auch gestolpert .join``- werfen Sie einen Blick auf Tagged Templates
Nitzel
13

APL (Dyalog Unicode) , 3 2 Byte SBCS

-1 Byte dank dzaima

⌽⊂

Probieren Sie es online!

 Schließen Sie das Argument ein, um es als Singleton zu behandeln: [1,2,3][[1,2,3]]

 rückwärts (hat keine Auswirkung auf Singletons): [[1,2,3]][[1,2,3]]

Ein umschlossenes Array wird mit einem führenden und einem nachfolgenden Leerzeichen gedruckt.

! enilno ti yrT

 rückwärts (hat keine Auswirkung auf Singletons): [1,2,3][3,2,1]

 anbei: [1,2,3][[1,2,3]]

Ein umschlossenes Array wird mit einem führenden und einem nachfolgenden Leerzeichen gedruckt.

Adam
quelle
Nett. Digraphen erschweren dies in J ... haben sich noch nichts ausgedacht
Jonah
8

Fass , 3 2 Bytes

#?

Noch kein TIO, da dies den neuesten Interpreter verwendet

Erklärt

#? #Implicit cat
?# Reversed input

Heh. Das ist richtig. Keg kann auch diesen 2-Byte-Antworten standhalten (und dabei reines, einfaches ASCII verwenden)!

Altes Programm

^#?

Probieren Sie es online! Oder ! Enilno ti yrT

Weil zwei das 3-Byte-Spiel spielen können. Deshalb. (Habe ich schon erwähnt, dass das 3 Bytes UTF8 ASCII sind ?)

^#? #Reverse an empty stack, taking implicit input

?#^ #take input
Jono 2906
quelle
5

Holzkohle , 2 Bytes

S←

Probieren Sie es online! Erläuterung: druckt implizit die explizite Eingabe und bewegt den Cursor nach links (keine Auswirkung auf die endgültige Ausgabe). Rückgängig gemacht:

←S

Probieren Sie es online! Ändert die Richtung des impliziten Ausdrucks der expliziten Eingabe und kehrt die Ausgabe um.

Neil
quelle
4

Stapel Katzen -m , 4 Bytes

|>I|

Probieren Sie es online!

Versuchen Sie es umgekehrt!

Dies funktioniert für alle Eingaben, die keine Nullbytes enthalten.

Erläuterung

Wow, ich habe den Punkt erreicht, an dem ich diese von Hand schreibe ...

Das volle Programm ist |>I|I<|.

|   Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
>   Move one stack over to the right (which only contains zeros).
I   Does nothing on zero.
|   Does nothing on zero.
I   Does nothing on zero.
<   Move back to the initial stack.
|   Reverse the input once more.

Wie bei der Lösung der vorherigen Herausforderung |tut das gesamte Programm nichts, da der Befehl center nichts tut.

Das umgekehrte Programm ist dann |I>|<I|.

|   Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I   Move the -1 one stack to the left and turn it into a +1.
>   Move back to the initial stack.
|   Reverse it again, but this time without the EOF marker.
<   Move back to the left.
I   Move the +1 back onto the initial stack and turn it into a -1 again.
|   Reverse the entire stack. We now have the -1 as an EOF marker again at the bottom
    and the rest of the stack has been reversed three times, i.e. one net reversal.

Wenn wir dieses Umkehrprogramm verwenden, ohne dass -mwir diesmal noch eine funktionierende Lösung erhalten, entstehen interessanterweise nur die zusätzlichen Bytes, die durch das -mSpiegeln des Codes entstehen.


Stapel Katzen , 7 Bytes

|I<|>I|

Probieren Sie es online!

Versuchen Sie es umgekehrt!

Erläuterung

Die umgekehrte Version dieses Programms ist |I>|<I|die gleiche wie oben, so dass wir das ignorieren können. Die nicht umgekehrte Version unterscheidet sich jedoch. Da der <>now-Punkt in die andere Richtung zeigt, tut der center-Befehl nichts, sodass das Programm zu einer Katze wird:

|   Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I   Move the -1 one stack to the left and turn it into a +1.
<   Move another stack to the left, which contains only zeros.
|   Does nothing on zero.

Und damit >I|genau die erste Hälfte des Programms rückgängig machen.

Martin Ender
quelle
3

Pyth, 5 3 Bytes

z_k

-2 Bytes durch Realisieren der Zeilenumbrüche

Erläuterung:

z   # Implicitly print the input
 _k # Implicitly print the reversed empty string

Umgekehrte Erklärung:

k     # Implicitly print the empty string
 _z   # Implicitly print the reversed input
berühmt1622
quelle
2

Cubix , 19 Bytes

.@o?A^;/|?$oqBA.UW.

Probieren Sie es online!

Cubified

    . @
    o ?
A ^ ; / | ? $ o
q B A . U W . .
    . .
    . .
  • A^ Hole alle Eingaben und betrete die Schleife
  • o? Ausgabe der TOS von Stack und Test
  • @ Beenden, wenn der Test negativ ist
  • /;^ zurück reflektieren, TOS platzieren und Schleife erneut betreten

Alle anderen Befehle werden vermieden.

Rückgängig gemacht

.WU.ABqo$?|/;^A?o@.

Probieren Sie es online!

Cubified

   . W
    U .
A B q o $ ? | /
; ^ A ? o @ . .
    . .
    . .
  • ABq Holen Sie sich alle Eingaben, kehren Sie um und legen Sie die TOS auf den Boden des Stapels
  • o$?|? TOS ausgeben, Test überspringen und erneut testen
  • @ halt wenn test wenn negativ
  • WUq Spur wechseln, U-Turn auf Drop-to-Start der Schleife
MickyT
quelle
2

Pip , 4 Bytes

aVRa

Probieren Sie es online! ! enilno ti yrT

Nutzt die Tatsache, dass RVes sich um den umgekehrten Operator handelt, es sich jedoch VRum eine undefinierte Variable handelt. Beide Versionen geben den Wert ihres letzten Ausdrucks aus. in der Standardversion ist das a(mit dem ersten aund dem VRSein No-Ops), während in der umgekehrten Version das ist RVa(mit dem ersten aSein No-Op).

DLosc
quelle
2

Perl 5 -p , 11 Bytes

Das Offensichtliche.

#esrever=_$
msh210
quelle
2

Turing Machine Language , 14324 14321 Byte

0 ( ( l 6 ;
0 * * l 2 ;
1 _ _ l 2 ;
2 _ ( r 3 ;
3 _ _ r 4 ;
4 _ _ l 3) ;
4 * * r 2 ;
3) _ ) l 5 ;
3 * * r 3 ;
5 ( ( * 0 ;
5 * * l 5 ;
6 _ _ l 7 ;
7 _ ] r 8 ;
8 ) ) l 9 ;
8 * * r 8 ;
9 0 @ l c0 ;
9 1 @ l c1 ;
9 2 @ l c2 ;
9 3 @ l c3 ;
9 4 @ l c4 ;
9 5 @ l c5 ;
9 6 @ l c6 ;
9 7 @ l c7 ;
9 8 @ l c8 ;
9 9 @ l c9 ;
9 a @ l a ;
9 A @ l A ;
9 b @ l b ;
9 B @ l B ;
9 c @ l c ;
9 C @ l C ;
9 d @ l d ;
9 D @ l D ;
9 e @ l e ;
9 E @ l E ;
9 f @ l f ;
9 F @ l F ;
9 g @ l g ;
9 G @ l G ;
9 h @ l h ;
9 H @ l H ;
9 i @ l i ;
9 I @ l I ;
9 j @ l j ;
9 J @ l J ;
9 k @ l k ;
9 K @ l K ;
9 l @ l l ;
9 L @ l L ;
9 m @ l m ;
9 M @ l M ;
9 n @ l n ;
9 N @ l N ;
9 o @ l o ;
9 O @ l O ;
9 p @ l p ;
9 P @ l P ;
9 q @ l q ;
9 Q @ l Q ;
9 r @ l r ;
9 R @ l R ;
9 s @ l s ;
9 S @ l S ;
9 t @ l t ;
9 T @ l T ;
9 u @ l u ;
9 U @ l U ;
9 v @ l v ;
9 V @ l V ;
9 w @ l w ;
9 W @ l W ;
9 x @ l x ;
9 X @ l X ;
9 y @ l y ;
9 Y @ l Y ;
9 z @ l z ;
9 Z @ l Z ;
c0 ] ] l c0a ;
c0 * * l c0 ;
c0a _ 0 r @0 ;
c0a * * l c0a ;
@0 @ 0 l nC ;
@0 * * r @0 ;
c1 ] ] l c1a ;
c1 * * l c1 ;
c1a _ 1 r @1 ;
c1a * * l c1a ;
@1 @ 1 l nC ;
@1 * * r @1 ;
c2 ] ] l c2a ;
c2 * * l c2 ;
c2a _ 2 r @2 ;
c2a * * l c2a ;
@2 @ 2 l nC ;
@2 * * r @2 ;
c3 ] ] l c3a ;
c3 * * l c3 ;
c3a _ 3 r @3 ;
c3a * * l c3a ;
@3 @ 3 l nC ;
@3 * * r @3 ;
c4 ] ] l c4a ;
c4 * * l c4 ;
c4a _ 4 r @4 ;
c4a * * l c4a ;
@4 @ 4 l nC ;
@4 * * r @4 ;
c5 ] ] l c5a ;
c5 * * l c5 ;
c5a _ 5 r @5 ;
c5a * * l c5a ;
@5 @ 5 l nC ;
@5 * * r @5 ;
c6 ] ] l c6a ;
c6 * * l c6 ;
c6a _ 6 r @6 ;
c6a * * l c6a ;
@6 @ 6 l nC ;
@6 * * r @6 ;
c7 ] ] l c7a ;
c7 * * l c7 ;
c7a _ 7 r @7 ;
c7a * * l c7a ;
@7 @ 7 l nC ;
@7 * * r @7 ;
c8 ] ] l c8a ;
c8 * * l c8 ;
c8a _ 8 r @8 ;
c8a * * l c8a ;
@8 @ 8 l nC ;
@8 * * r @8 ;
c9 ] ] l c9a ;
c9 * * l c9 ;
c9a _ 9 r @9 ;
c9a * * l c9a ;
@9 @ 9 l nC ;
@9 * * r @9 ;
a ] ] l aa ;
a * * l a ;
aa _ a r @a ;
aa * * l aa ;
@a @ a l nC ;
@a * * r @a ;
A ] ] l Aa ;
A * * l A ;
Aa _ A r @A ;
Aa * * l Aa ;
@A @ A l nC ;
@A * * r @A ;
b ] ] l ba ;
b * * l b ;
ba _ b r @b ;
ba * * l ba ;
@b @ b l nC ;
@b * * r @b ;
B ] ] l Ba ;
B * * l B ;
Ba _ B r @B ;
Ba * * l Ba ;
@B @ B l nC ;
@B * * r @B ;
c ] ] l ca ;
c * * l c ;
ca _ c r @c ;
ca * * l ca ;
@c @ c l nC ;
@c * * r @c ;
C ] ] l Ca ;
C * * l C ;
Ca _ C r @C ;
Ca * * l Ca ;
@C @ C l nC ;
@C * * r @C ;
d ] ] l da ;
d * * l d ;
da _ d r @d ;
da * * l da ;
@d @ d l nC ;
@d * * r @d ;
D ] ] l Da ;
D * * l D ;
Da _ D r @D ;
Da * * l Da ;
@D @ D l nC ;
@D * * r @D ;
e ] ] l ea ;
e * * l e ;
ea _ e r @e ;
ea * * l ea ;
@e @ e l nC ;
@e * * r @e ;
E ] ] l Ea ;
E * * l E ;
Ea _ E r @E ;
Ea * * l Ea ;
@E @ E l nC ;
@E * * r @E ;
f ] ] l fa ;
f * * l f ;
fa _ f r @f ;
fa * * l fa ;
@f @ f l nC ;
@f * * r @f ;
F ] ] l Fa ;
F * * l F ;
Fa _ F r @F ;
Fa * * l Fa ;
@F @ F l nC ;
@F * * r @F ;
g ] ] l ga ;
g * * l g ;
ga _ g r @g ;
ga * * l ga ;
@g @ g l nC ;
@g * * r @g ;
G ] ] l Ga ;
G * * l G ;
Ga _ G r @G ;
Ga * * l Ga ;
@G @ G l nC ;
@G * * r @G ;
h ] ] l ha ;
h * * l h ;
ha _ h r @h ;
ha * * l ha ;
@h @ h l nC ;
@h * * r @h ;
H ] ] l Ha ;
H * * l H ;
Ha _ H r @H ;
Ha * * l Ha ;
@H @ H l nC ;
@H * * r @H ;
i ] ] l ia ;
i * * l i ;
ia _ i r @i ;
ia * * l ia ;
@i @ i l nC ;
@i * * r @i ;
I ] ] l Ia ;
I * * l I ;
Ia _ I r @I ;
Ia * * l Ia ;
@I @ I l nC ;
@I * * r @I ;
j ] ] l ja ;
j * * l j ;
ja _ j r @j ;
ja * * l ja ;
@j @ j l nC ;
@j * * r @j ;
J ] ] l Ja ;
J * * l J ;
Ja _ J r @J ;
Ja * * l Ja ;
@J @ J l nC ;
@J * * r @J ;
k ] ] l ka ;
k * * l k ;
ka _ k r @k ;
ka * * l ka ;
@k @ k l nC ;
@k * * r @k ;
K ] ] l Ka ;
K * * l K ;
Ka _ K r @K ;
Ka * * l Ka ;
@K @ K l nC ;
@K * * r @K ;
l ] ] l la ;
l * * l l ;
la _ l r @l ;
la * * l la ;
@l @ l l nC ;
@l * * r @l ;
L ] ] l La ;
L * * l L ;
La _ L r @L ;
La * * l La ;
@L @ L l nC ;
@L * * r @L ;
m ] ] l ma ;
m * * l m ;
ma _ m r @m ;
ma * * l ma ;
@m @ m l nC ;
@m * * r @m ;
M ] ] l Ma ;
M * * l M ;
Ma _ M r @M ;
Ma * * l Ma ;
@M @ M l nC ;
@M * * r @M ;
n ] ] l na ;
n * * l n ;
na _ n r @n ;
na * * l na ;
@n @ n l nC ;
@n * * r @n ;
N ] ] l Na ;
N * * l N ;
Na _ N r @N ;
Na * * l Na ;
@N @ N l nC ;
@N * * r @N ;
o ] ] l oa ;
o * * l o ;
oa _ o r @o ;
oa * * l oa ;
@o @ o l nC ;
@o * * r @o ;
O ] ] l Oa ;
O * * l O ;
Oa _ O r @O ;
Oa * * l Oa ;
@O @ O l nC ;
@O * * r @O ;
p ] ] l pa ;
p * * l p ;
pa _ p r @p ;
pa * * l pa ;
@p @ p l nC ;
@p * * r @p ;
P ] ] l Pa ;
P * * l P ;
Pa _ P r @P ;
Pa * * l Pa ;
@P @ P l nC ;
@P * * r @P ;
q ] ] l qa ;
q * * l q ;
qa _ q r @q ;
qa * * l qa ;
@q @ q l nC ;
@q * * r @q ;
Q ] ] l Qa ;
Q * * l Q ;
Qa _ Q r @Q ;
Qa * * l Qa ;
@Q @ Q l nC ;
@Q * * r @Q ;
r ] ] l ra ;
r * * l r ;
ra _ r r @r ;
ra * * l ra ;
@r @ r l nC ;
@r * * r @r ;
R ] ] l Ra ;
R * * l R ;
Ra _ R r @R ;
Ra * * l Ra ;
@R @ R l nC ;
@R * * r @R ;
s ] ] l sa ;
s * * l s ;
sa _ s r @s ;
sa * * l sa ;
@s @ s l nC ;
@s * * r @s ;
S ] ] l Sa ;
S * * l S ;
Sa _ S r @S ;
Sa * * l Sa ;
@S @ S l nC ;
@S * * r @S ;
t ] ] l ta ;
t * * l t ;
ta _ t r @t ;
ta * * l ta ;
@t @ t l nC ;
@t * * r @t ;
T ] ] l Ta ;
T * * l T ;
Ta _ T r @T ;
Ta * * l Ta ;
@T @ T l nC ;
@T * * r @T ;
u ] ] l ua ;
u * * l u ;
ua _ u r @u ;
ua * * l ua ;
@u @ u l nC ;
@u * * r @u ;
U ] ] l Ua ;
U * * l U ;
Ua _ U r @U ;
Ua * * l Ua ;
@U @ U l nC ;
@U * * r @U ;
v ] ] l va ;
v * * l v ;
va _ v r @v ;
va * * l va ;
@v @ v l nC ;
@v * * r @v ;
V ] ] l Va ;
V * * l V ;
Va _ V r @V ;
Va * * l Va ;
@V @ V l nC ;
@V * * r @V ;
w ] ] l wa ;
w * * l w ;
wa _ w r @w ;
wa * * l wa ;
@w @ w l nC ;
@w * * r @w ;
W ] ] l Wa ;
W * * l W ;
Wa _ W r @W ;
Wa * * l Wa ;
@W @ W l nC ;
@W * * r @W ;
x ] ] l xa ;
x * * l x ;
xa _ x r @x ;
xa * * l xa ;
@x @ x l nC ;
@x * * r @x ;
X ] ] l Xa ;
X * * l X ;
Xa _ X r @X ;
Xa * * l Xa ;
@X @ X l nC ;
@X * * r @X ;
y ] ] l ya ;
y * * l y ;
ya _ y r @y ;
ya * * l ya ;
@y @ y l nC ;
@y * * r @y ;
Y ] ] l Ya ;
Y * * l Y ;
Ya _ Y r @Y ;
Ya * * l Ya ;
@Y @ Y l nC ;
@Y * * r @Y ;
z ] ] l za ;
z * * l z ;
za _ z r @z ;
za * * l za ;
@z @ z l nC ;
@z * * r @z ;
Z ] ] l Za ;
Z * * l Z ;
Za _ Z r @Z ;
Za * * l Za ;
@Z @ Z l nC ;
@Z * * r @Z ;
Sp ] ] l Sp1 ;
Sp * * l Sp ;
Sp1 _ ~ r @Sp ;
Sp1 * * l Sp1 ;
@Sp @ _ l nC ;
@Sp * * r @Sp ;
nC _ @ l Sp ;
nC 0 0 * 9 ;
nC 1 1 * 9 ;
nC 2 2 * 9 ;
nC 3 3 * 9 ;
nC 4 4 * 9 ;
nC 5 5 * 9 ;
nC 6 6 * 9 ;
nC 7 7 * 9 ;
nC 8 8 * 9 ;
nC 9 9 * 9 ;
nC - - * 9 ;
nC a a * 9 ;
nC A A * 9 ;
nC b b * 9 ;
nC B B * 9 ;
nC c c * 9 ;
nC C C * 9 ;
nC d d * 9 ;
nC D D * 9 ;
nC e e * 9 ;
nC E E * 9 ;
nC f f * 9 ;
nC F F * 9 ;
nC g g * 9 ;
nC G G * 9 ;
nC h h * 9 ;
nC H H * 9 ;
nC i i * 9 ;
nC I I * 9 ;
nC j j * 9 ;
nC J J * 9 ;
nC k k * 9 ;
nC K K * 9 ;
nC l l * 9 ;
nC L L * 9 ;
nC m m * 9 ;
nC M M * 9 ;
nC n n * 9 ;
nC N N * 9 ;
nC o o * 9 ;
nC O O * 9 ;
nC p p * 9 ;
nC P P * 9 ;
nC q q * 9 ;
nC Q Q * 9 ;
nC r r * 9 ;
nC R R * 9 ;
nC s s * 9 ;
nC S S * 9 ;
nC t t * 9 ;
nC T T * 9 ;
nC u u * 9 ;
nC U U * 9 ;
nC v v * 9 ;
nC V V * 9 ;
nC w w * 9 ;
nC W W * 9 ;
nC x x * 9 ;
nC X X * 9 ;
nC y y * 9 ;
nC Y Y * 9 ;
nC z z * 9 ;
nC Z Z * 9 ;
nC ( ( * fC ;
fC ] ] l fC1 ;
fC * * l fC ;
fC1 _ [ * cl ;
fC1 * * l fC1 ;
cl [ _ r cl ;
cl ] _ r cl ;
cl ~ _ r cl ;
cl ( _ r clO ;
clO ) _ * halt-accept ;
clO * _ r clO ;
cl ) ) * halt-accept ;
cl * * r cl ;
; lc r * * lc
; tpecca-tlah * ) ) lc
; Olc r _ * Olc
; tpecca-tlah * _ ) Olc
; Olc r _ ( lc
; lc r _ ~ lc
; lc r _ ] lc
; lc r _ [ lc
; 1Cf l * * 1Cf
; lc * [ _ 1Cf
; Cf l * * Cf
; 1Cf l ] ] Cf
; Cf * ) ) Cn
; 9 * Z Z Cn
; 9 * z z Cn
; 9 * Y Y Cn
; 9 * y y Cn
; 9 * X X Cn
; 9 * x x Cn
; 9 * W W Cn
; 9 * w w Cn
; 9 * V V Cn
; 9 * v v Cn
; 9 * U U Cn
; 9 * u u Cn
; 9 * T T Cn
; 9 * t t Cn
; 9 * S S Cn
; 9 * s s Cn
; 9 * R R Cn
; 9 * r r Cn
; 9 * Q Q Cn
; 9 * q q Cn
; 9 * P P Cn
; 9 * p p Cn
; 9 * O O Cn
; 9 * o o Cn
; 9 * N N Cn
; 9 * n n Cn
; 9 * M M Cn
; 9 * m m Cn
; 9 * L L Cn
; 9 * l l Cn
; 9 * K K Cn
; 9 * k k Cn
; 9 * J J Cn
; 9 * j j Cn
; 9 * I I Cn
; 9 * i i Cn
; 9 * H H Cn
; 9 * h h Cn
; 9 * G G Cn
; 9 * g g Cn
; 9 * F F Cn
; 9 * f f Cn
; 9 * E E Cn
; 9 * e e Cn
; 9 * D D Cn
; 9 * d d Cn
; 9 * C C Cn
; 9 * c c Cn
; 9 * B B Cn
; 9 * b b Cn
; 9 * A A Cn
; 9 * a a Cn
; 9 * - - Cn
; 9 * 9 9 Cn
; 9 * 8 8 Cn
; 9 * 7 7 Cn
; 9 * 6 6 Cn
; 9 * 5 5 Cn
; 9 * 4 4 Cn
; 9 * 3 3 Cn
; 9 * 2 2 Cn
; 9 * 1 1 Cn
; 9 * 0 0 Cn
; pS l @ _ Cn
; pS@ r * * pS@
; Cn r _ @ pS@
; 1pS l * * 1pS
; pS@ r ~ _ 1pS
; pS l * * pS
; 1pS l ] ] pS
; Z@ r * * Z@
; Cn r Z @ Z@
; aZ l * * aZ
; Z@ r Z _ aZ
; Z l * * Z
; aZ l ] ] Z
; z@ r * * z@
; Cn r z @ z@
; az l * * az
; z@ r z _ az
; z l * * z
; az l ] ] z
; Y@ r * * Y@
; Cn r Y @ Y@
; aY l * * aY
; Y@ r Y _ aY
; Y l * * Y
; aY l ] ] Y
; y@ r * * y@
; Cn r y @ y@
; ay l * * ay
; y@ r y _ ay
; y l * * y
; ay l ] ] y
; X@ r * * X@
; Cn r X @ X@
; aX l * * aX
; X@ r X _ aX
; X l * * X
; aX l ] ] X
; x@ r * * x@
; Cn r x @ x@
; ax l * * ax
; x@ r x _ ax
; x l * * x
; ax l ] ] x
; W@ r * * W@
; Cn r W @ W@
; aW l * * aW
; W@ r W _ aW
; W l * * W
; aW l ] ] W
; w@ r * * w@
; Cn r w @ w@
; aw l * * aw
; w@ r w _ aw
; w l * * w
; aw l ] ] w
; V@ r * * V@
; Cn r V @ V@
; aV l * * aV
; V@ r V _ aV
; V l * * V
; aV l ] ] V
; v@ r * * v@
; Cn r v @ v@
; av l * * av
; v@ r v _ av
; v l * * v
; av l ] ] v
; U@ r * * U@
; Cn r U @ U@
; aU l * * aU
; U@ r U _ aU
; U l * * U
; aU l ] ] U
; u@ r * * u@
; Cn r u @ u@
; au l * * au
; u@ r u _ au
; u l * * u
; au l ] ] u
; T@ r * * T@
; Cn r T @ T@
; aT l * * aT
; T@ r T _ aT
; T l * * T
; aT l ] ] T
; t@ r * * t@
; Cn r t @ t@
; at l * * at
; t@ r t _ at
; t l * * t
; at l ] ] t
; S@ r * * S@
; Cn r S @ S@
; aS l * * aS
; S@ r S _ aS
; S l * * S
; aS l ] ] S
; s@ r * * s@
; Cn r s @ s@
; as l * * as
; s@ r s _ as
; s l * * s
; as l ] ] s
; R@ r * * R@
; Cn r R @ R@
; aR l * * aR
; R@ r R _ aR
; R l * * R
; aR l ] ] R
; r@ r * * r@
; Cn r r @ r@
; ar l * * ar
; r@ r r _ ar
; r l * * r
; ar l ] ] r
; Q@ r * * Q@
; Cn r Q @ Q@
; aQ l * * aQ
; Q@ r Q _ aQ
; Q l * * Q
; aQ l ] ] Q
; q@ r * * q@
; Cn r q @ q@
; aq l * * aq
; q@ r q _ aq
; q l * * q
; aq l ] ] q
; P@ r * * P@
; Cn r P @ P@
; aP l * * aP
; P@ r P _ aP
; P l * * P
; aP l ] ] P
; p@ r * * p@
; Cn r p @ p@
; ap l * * ap
; p@ r p _ ap
; p l * * p
; ap l ] ] p
; O@ r * * O@
; Cn r O @ O@
; aO l * * aO
; O@ r O _ aO
; O l * * O
; aO l ] ] O
; o@ r * * o@
; Cn r o @ o@
; ao l * * ao
; o@ r o _ ao
; o l * * o
; ao l ] ] o
; N@ r * * N@
; Cn r N @ N@
; aN l * * aN
; N@ r N _ aN
; N l * * N
; aN l ] ] N
; n@ r * * n@
; Cn r n @ n@
; an l * * an
; n@ r n _ an
; n l * * n
; an l ] ] n
; M@ r * * M@
; Cn r M @ M@
; aM l * * aM
; M@ r M _ aM
; M l * * M
; aM l ] ] M
; m@ r * * m@
; Cn r m @ m@
; am l * * am
; m@ r m _ am
; m l * * m
; am l ] ] m
; L@ r * * L@
; Cn r L @ L@
; aL l * * aL
; L@ r L _ aL
; L l * * L
; aL l ] ] L
; l@ r * * l@
; Cn r l @ l@
; al l * * al
; l@ r l _ al
; l l * * l
; al l ] ] l
; K@ r * * K@
; Cn r K @ K@
; aK l * * aK
; K@ r K _ aK
; K l * * K
; aK l ] ] K
; k@ r * * k@
; Cn r k @ k@
; ak l * * ak
; k@ r k _ ak
; k l * * k
; ak l ] ] k
; J@ r * * J@
; Cn r J @ J@
; aJ l * * aJ
; J@ r J _ aJ
; J l * * J
; aJ l ] ] J
; j@ r * * j@
; Cn r j @ j@
; aj l * * aj
; j@ r j _ aj
; j l * * j
; aj l ] ] j
; I@ r * * I@
; Cn r I @ I@
; aI l * * aI
; I@ r I _ aI
; I l * * I
; aI l ] ] I
; i@ r * * i@
; Cn r i @ i@
; ai l * * ai
; i@ r i _ ai
; i l * * i
; ai l ] ] i
; H@ r * * H@
; Cn r H @ H@
; aH l * * aH
; H@ r H _ aH
; H l * * H
; aH l ] ] H
; h@ r * * h@
; Cn r h @ h@
; ah l * * ah
; h@ r h _ ah
; h l * * h
; ah l ] ] h
; G@ r * * G@
; Cn r G @ G@
; aG l * * aG
; G@ r G _ aG
; G l * * G
; aG l ] ] G
; g@ r * * g@
; Cn r g @ g@
; ag l * * ag
; g@ r g _ ag
; g l * * g
; ag l ] ] g
; F@ r * * F@
; Cn r F @ F@
; aF l * * aF
; F@ r F _ aF
; F l * * F
; aF l ] ] F
; f@ r * * f@
; Cn r f @ f@
; af l * * af
; f@ r f _ af
; f l * * f
; af l ] ] f
; E@ r * * E@
; Cn r E @ E@
; aE l * * aE
; E@ r E _ aE
; E l * * E
; aE l ] ] E
; e@ r * * e@
; Cn r e @ e@
; ae l * * ae
; e@ r e _ ae
; e l * * e
; ae l ] ] e
; D@ r * * D@
; Cn r D @ D@
; aD l * * aD
; D@ r D _ aD
; D l * * D
; aD l ] ] D
; d@ r * * d@
; Cn r d @ d@
; ad l * * ad
; d@ r d _ ad
; d l * * d
; ad l ] ] d
; C@ r * * C@
; Cn r C @ C@
; aC l * * aC
; C@ r C _ aC
; C l * * C
; aC l ] ] C
; c@ r * * c@
; Cn r c @ c@
; ac l * * ac
; c@ r c _ ac
; c l * * c
; ac l ] ] c
; B@ r * * B@
; Cn r B @ B@
; aB l * * aB
; B@ r B _ aB
; B l * * B
; aB l ] ] B
; b@ r * * b@
; Cn r b @ b@
; ab l * * ab
; b@ r b _ ab
; b l * * b
; ab l ] ] b
; A@ r * * A@
; Cn r A @ A@
; aA l * * aA
; A@ r A _ aA
; A l * * A
; aA l ] ] A
; a@ r * * a@
; Cn r a @ a@
; aa l * * aa
; a@ r a _ aa
; a l * * a
; aa l ] ] a
; 9@ r * * 9@
; Cn r 9 @ 9@
; a9c l * * a9c
; 9@ r 9 _ a9c
; 9c l * * 9c
; a9c l ] ] 9c
; 8@ r * * 8@
; Cn r 8 @ 8@
; a8c l * * a8c
; 8@ r 8 _ a8c
; 8c l * * 8c
; a8c l ] ] 8c
; 7@ r * * 7@
; Cn r 7 @ 7@
; a7c l * * a7c
; 7@ r 7 _ a7c
; 7c l * * 7c
; a7c l ] ] 7c
; 6@ r * * 6@
; Cn r 6 @ 6@
; a6c l * * a6c
; 6@ r 6 _ a6c
; 6c l * * 6c
; a6c l ] ] 6c
; 5@ r * * 5@
; Cn r 5 @ 5@
; a5c l * * a5c
; 5@ r 5 _ a5c
; 5c l * * 5c
; a5c l ] ] 5c
; 4@ r * * 4@
; Cn r 4 @ 4@
; a4c l * * a4c
; 4@ r 4 _ a4c
; 4c l * * 4c
; a4c l ] ] 4c
; 3@ r * * 3@
; Cn r 3 @ 3@
; a3c l * * a3c
; 3@ r 3 _ a3c
; 3c l * * 3c
; a3c l ] ] 3c
; 2@ r * * 2@
; Cn r 2 @ 2@
; a2c l * * a2c
; 2@ r 2 _ a2c
; 2c l * * 2c
; a2c l ] ] 2c
; 1@ r * * 1@
; Cn r 1 @ 1@
; a1c l * * a1c
; 1@ r 1 _ a1c
; 1c l * * 1c
; a1c l ] ] 1c
; 0@ r * * 0@
; Cn r 0 @ 0@
; a0c l * * a0c
; 0@ r 0 _ a0c
; 0c l * * 0c
; a0c l ] ] 0c
; Z l @ Z 9
; z l @ z 9
; Y l @ Y 9
; y l @ y 9
; X l @ X 9
; x l @ x 9
; W l @ W 9
; w l @ w 9
; V l @ V 9
; v l @ v 9
; U l @ U 9
; u l @ u 9
; T l @ T 9
; t l @ t 9
; S l @ S 9
; s l @ s 9
; R l @ R 9
; r l @ r 9
; Q l @ Q 9
; q l @ q 9
; P l @ P 9
; p l @ p 9
; O l @ O 9
; o l @ o 9
; N l @ N 9
; n l @ n 9
; M l @ M 9
; m l @ m 9
; L l @ L 9
; l l @ l 9
; K l @ K 9
; k l @ k 9
; J l @ J 9
; j l @ j 9
; I l @ I 9
; i l @ i 9
; H l @ H 9
; h l @ h 9
; G l @ G 9
; g l @ g 9
; F l @ F 9
; f l @ f 9
; E l @ E 9
; e l @ e 9
; D l @ D 9
; d l @ d 9
; C l @ C 9
; c l @ c 9
; B l @ B 9
; b l @ b 9
; A l @ A 9
; a l @ a 9
; 9c l @ 9 9
; 8c l @ 8 9
; 7c l @ 7 9
; 6c l @ 6 9
; 5c l @ 5 9
; 4c l @ 4 9
; 3c l @ 3 9
; 2c l @ 2 9
; 1c l @ 1 9
; 0c l @ 0 9
; 8 r * * 8
; 9 r ( ( 8
; 8 r ] _ 7
; 7 l _ _ 6
; 5 l * * 5
; 0 * ( ( 5
; 3 r * * 3
; 5 l ) _ )3
; 3 r * * 4
; )3 l _ _ 4
; 4 r _ _ 3
; 3 r ( _ 2
; 2 l _ _ 1
; 2 l * * 0
; 6 l ( ( 0

Probieren Sie es online!

Versuchen Sie es umgekehrt!

Ich habe diese Seite benutzt , um sie umzukehren.

ouflak
quelle
Gut...! Ich hoffe, Sie haben die erste Hälfte nicht manuell geschrieben! Ich hoffe wirklich!
Nacht,
1
Es war wirklich nicht so viel, als ich die Strategie festgelegt hatte. Nachdem die Grundlogik festgelegt war, wurde hauptsächlich kopiert / eingefügt / optimiert, gefolgt vom Debuggen meiner Versuche zum Kopieren / Einfügen / Optimieren.
26.
2

MathGolf , 3 Bytes

x;l

Erläuterung:

x   Reverse the implicit input
 ;  Discard the string
  l Push a string input
Implicit output TOS

Rückgängig gemacht:

l   Push a string input
 ;  Discard it
  x Reverse the implicit input
Implicit output TOS
EIN
quelle
2

Aufdringlich , 4 Bytes

"\"@

Probieren Sie es online aus: Vorwärts , Rückwärts

Einfache Implementierung mit dem Kommentarzeichen \. Im Weiterleitungsprogramm wird "die Eingabe gedruckt und der Rest ist ein Kommentar. in Rückwärts Programm @kehrt die Eingabe vor dem Druck.

Wir könnten alternativ ersetzen \mit c, die die Eingabe von dem Stapel löschen würde.

FlipTack
quelle
2

Kotlin , 15 Bytes

Meine erste Kotlin-Antwort und viel kürzer als das Java-Äquivalent!

s//)(desrever.s

Probieren Sie es online!

Rückgängig gemacht:

s.reversed()//s

! enilno ti yrT

Luke Stevens
quelle
1
Die Klammern sind der falsche Weg. Eine richtigere Antwort wäre s//)(desrever.s. Ich halte es jedoch für üblich, in Kotlin (oder zumindest in Java) mindestens ein vollständiges Lambda bereitzustellen. Also {it}//})(desrever.ti{sollte so etwas den Trick machen.
Roman Gräf
2

J , 7 Bytes

,&.|:@]

Rückgängig gemacht:

]@:|.&,

Probieren Sie es online!

Jonahs Kommentar zu Adams APL-Antwort hat mich dazu gebracht, die Herausforderung anzunehmen. Es war in der Tat ziemlich schwer, weil die Beugungen .und :immer an das Symbol auf der linken Seite anhaften und eine Sohle |(abstrakter Wert) nicht mit Zeichenfolgen zufrieden ist.

Wie diese funktionieren

Grundsätzlich handelt es sich um eine zufällige Mischung von No-Ops, die über verschiedene Anschlüsse verbunden sind.

,&.|:@]
     @]   Pass the argument unchanged
 &.|:     Apply inverse of |: (transpose), no-op on single string
,         Ravel, no-op on a single string
 &.|:     Apply |: again, still no-op

]@:|.&,
     &,   Ravel, no-op
 @:|.     Reverse
]         Pass the argument unchanged

Diese Antwort ist ein Byte kürzer als der triviale Kommentar-Missbrauch:

J , 8 Bytes

]NB.BN.|

Rückgängig gemacht:

|.NB.BN]

Probieren Sie es online!

In J ist die Inline-Kommentarmarkierung NB.länger als jede andere Sprache, die ich kenne.

Bubbler
quelle
2

Gaia , 2 Bytes

pv

Probieren Sie es online!

Versuchen Sie es umgekehrt!

Sehr ähnliche Lösung zu anderen Golfsprachen.

Erläuterung

p    Print the (implicitly grabbed) input
 v   Reverse the input

Umkehren

v    Reverse the (implicitly grabbed) input
 p   Print the result
Geschäfts-Katze
quelle
Nun, das ist auf jeden Fall effizient.
24.
1

C (gcc) , 56 Bytes

Nichts Besonderes. Hätte man puts()dann aber nachgestellte Leerzeichen verwendet, wäre zwischen den beiden Varianten nicht konsistent gewesen.

f(int*s){printf(s);}//};))1+s(f,s*(rahctup&&s*{)s*rahc(f

Probieren Sie es online!

f(char*s){*s&&putchar(*s,f(s+1));}//};)s(ftnirp{)s*tni(f

Rückgängig gemacht!

Gastropner
quelle
1

W , 2 Bytes

So ziemlich das Gleiche wie die 05AB1E-Lösung.

a~

Erläuterung

a   % Push the input
 ~  % Reverse the input
    % Implicit print the top of the stack

noitanalpxE

~   % Reverse the implicit input
 a  % Push the input
    % Implicit print the top of the stack
EIN
quelle