Odwracam kod źródłowy, odwracasz wejście!

17

Jeszcze inna jawne zdzierstwo z rip-off z rip-off . Głosuj dalej!

Twoim zadaniem, jeśli chcesz to zaakceptować, jest napisanie programu / funkcji, która wyprowadza / zwraca łańcuch wejściowy / argument. Problem polega na tym, że jeśli odwrócę kod źródłowy, dane wyjściowe również muszą zostać odwrócone.

Dla uproszczenia można założyć, że wejście jest zawsze ciągiem jednej linii zawierającym tylko litery ASCII (az), cyfry (0-9) i spacje.

Powinien obsługiwać wprowadzanie o długości co najmniej 8 znaków (dłuższe niż 8 nie jest konieczne).

Zachowanie pustych danych wejściowych jest niezdefiniowane.

Przykłady

Powiedzmy, że twój kod źródłowy jest, ABCa jego dane wejściowe to xyz. Jeśli CBAzamiast tego napiszę i uruchomię, wynik musi być następujący zyx.

Powiedzmy, że twój kod źródłowy jest, ABCa jego dane wejściowe to 96. Jeśli CBAzamiast tego napiszę i uruchomię, wynik musi być następujący 69.

Dopuszczalna jest pojedyncza wiodąca lub końcowa biała spacja, pod warunkiem, że jest spójna zarówno w przypadku normalnych, jak i odwróconych wyników.

Noc 2
źródło

Odpowiedzi:

16

JavaScript, 32 bajty

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

Wywrócony:

s=>[...s].reverse().join``//s>=s
James
źródło
Dobra robota, nie wiedziałem, że JS nie ma wbudowanego rewersu dla łańcuchów. Nawiasem mówiąc, linki TIO zwykle upodobniają odpowiedzi: Wypróbuj online! Odwrócony
Night2
3
Nie ma odwrotnego ciągu znaków. [...s]konwertuje na tablicę, która jest odwracana, a następnie łączona z powrotem jako ciąg.
James
Jeśli także potknąłeś się .join``- spójrz na Tagged Templates
nitzel
13

APL (Dyalog Unicode) , 3 2 bajty SBCS

-1 bajt dzięki dzaima

⌽⊂

Wypróbuj online!

 dołącz argument, aby traktować go jako singleton: [1,2,3][[1,2,3]]

 rewers (nie ma wpływu na singletony): [[1,2,3]][[1,2,3]]

Zamknięta tablica drukuje z wiodącą spacją.

! enilno ti yrT

 rewers (nie ma wpływu na singletony): [1,2,3][3,2,1]

 załącz: [1,2,3][[1,2,3]]

Zamknięta tablica drukuje z wiodącą spacją.

Adám
źródło
Ładny. Digraphy utrudniają to w J ... jeszcze niczego nie wymyślił
Jonah
8

Beczka , 3 2 bajty

#?

Nie ma jeszcze TIO, ponieważ korzysta z najnowszego tłumacza

Wyjaśniono

#? #Implicit cat
?# Reversed input

Heh Zgadza się. Keg może również wytrzymać te 2-bajtowe odpowiedzi (i używając czystego, prostego ASCII)!

Stary program

^#?

Wypróbuj online! Lub ! Enilno ti yrT

Ponieważ dwa mogą grać w 3-bajtową grę. Dlatego. (czy wspomniałem, że to 3 bajty utf8 ASCII ?)

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

?#^ #take input
Lyxal
źródło
4

Stack Cats -m , 4 bajty

|>I|

Wypróbuj online!

Spróbuj odwrócić!

Działa to dla wszystkich danych wejściowych, które nie zawierają pustych bajtów.

Wyjaśnienie

Wow, osiągnąłem punkt, w którym piszę je ręcznie ...

Pełny program to |>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.

Jak w rozwiązaniu do poprzedniego wyzwania, ponieważ polecenie środkowe | nic nie robi, podobnie jak cały program.

Odwrócony program jest wtedy |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.

Co ciekawe, jeśli użyjemy tego programu do cofania, tym -mrazem nie otrzymamy działającego rozwiązania, więc jedyne dodatkowe bajty powstałe w wyniku pominięcia -mto te, które otrzymujemy z dublowania kodu.


Stack Cats , 7 bajtów

|I<|>I|

Wypróbuj online!

Spróbuj odwrócić!

Wyjaśnienie

Odwrócona wersja tego programu jest |I>|<I|taka sama jak powyżej, więc możemy to zignorować. Ale wersja nieodwrócona różni się. Ponieważ <>teraz punkt jest odwrotny, polecenie środkowe nie robi nic, więc program staje się kotem:

|   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.

I >I|właśnie dokładnie cofnij pierwszą połowę programu.

Martin Ender
źródło
4

Węgiel , 2 bajty

S←

Wypróbuj online! Objaśnienie: niejawnie drukuje jawne dane wejściowe i przesuwa kursor w lewo (bez wpływu na ostateczny wynik). Wywrócony:

←S

Wypróbuj online! zmienia kierunek niejawnego wydruku jawnego wejścia, odwracając w ten sposób wyjście.

Neil
źródło
3

Język maszyny Turinga , 14324 14321 bajtów

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

Wypróbuj online!

Spróbuj odwrócić!

Użyłem tej strony, aby ją odwrócić.

ouflak
źródło
Dobrze...! Mam nadzieję, że nie napisałeś pierwszej połowy ręcznie! Naprawdę mam nadzieję!
Night2
1
Naprawdę nie było tak dużo, kiedy posortowałem strategię. Po ułożeniu podstawowej logiki było to głównie kopiowanie / wklejanie / poprawianie, a następnie debugowanie moich stłumionych prób kopiowania / wklejania / poprawiania.
ouflak
3

Pyth, 5 3 bajty

z_k

-2 bajty, realizując odwrócenie znaku nowej linii

Wyjaśnienie:

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

Odwrócone objaśnienie:

k     # Implicitly print the empty string
 _z   # Implicitly print the reversed input
znani1622
źródło
3

Gaia , 2 bajty

pv

Wypróbuj online!

Spróbuj odwrócić!

Bardzo podobne rozwiązanie do innych języków golfowych.

Wyjaśnienie

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

Rewers

v    Reverse the (implicitly grabbed) input
 p   Print the result
Business Cat
źródło
To z pewnością skuteczne.
ouflak
2

Cubix , 19 bajtów

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

Wypróbuj online!

Cubified

    . @
    o ?
A ^ ; / | ? $ o
q B A . U W . .
    . .
    . .
  • A^ pobierz wszystkie dane wejściowe i wejdź w pętlę
  • o? wypisuje TOS stosu i testuje
  • @ wyjdź, jeśli wynik testu będzie ujemny
  • /;^ odbij wstecz, pop TOS i ponownie wejdź w pętlę

Wszystkie inne polecenia są unikane.

Wywrócony

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

Wypróbuj online!

Cubified

   . W
    U .
A B q o $ ? | /
; ^ A ? o @ . .
    . .
    . .
  • ABq Zbierz wszystkie wejścia, odwróć i upuść TOS na dół stosu
  • o$?|? wyślij TOS, pomiń test i powróć do testu
  • @ zatrzymać, jeśli wynik testu jest ujemny
  • WUq zmień pas, skręć w up TOS początek pętli
MickyT
źródło
2

Pip , 4 bajty

aVRa

Wypróbuj online! ! enilno ti yrT

Wykorzystuje fakt, że RVjest operatorem odwrotnym, ale VRjest niezdefiniowaną zmienną. Obie wersje wypisują wartość ostatniego wyrażenia; w standardowej wersji to jesta (z pierwszym ai VRbędącym brakiem operacji ), podczas gdy w wersji odwróconej to jest RVa(z pierwszym abrakiem operacji ).

DLosc
źródło
2

MathGolf , 3 bajty

x;l

Wyjaśnienie:

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

Wywrócony:

l   Push a string input
 ;  Discard it
  x Reverse the implicit input
Implicit output TOS
za'_'
źródło
2

Pushy , 4 bajty

"\"@

Wypróbuj online: do przodu , do tyłu

Prosta implementacja ze znakiem komentarza \. W programie do przodu "drukuje dane wejściowe, a reszta jest komentarzem; w programie wstecz @odwraca dane wejściowe przed drukowaniem.

Mogliśmy alternatywnie zastąpić \z c, co wyczyścić wkład ze stosu.

FlipTack
źródło
2

Kotlin , 15 bajtów

Moja pierwsza odpowiedź Kotlina i znacznie krótsza niż odpowiednik java!

s//)(desrever.s

Wypróbuj online!

Wywrócony:

s.reversed()//s

! enilno ti yrT

Luke Stevens
źródło
1
Nawiasy są niewłaściwe. Bardziej poprawna odpowiedź byłaby s//)(desrever.s. Jednak myślę, że w Kotlinie (lub przynajmniej Java) jest niestandardowe zapewnienie co najmniej pełnej lambda. Więc coś takiego {it}//})(desrever.ti{powinno wystarczyć.
Roman Gräf,
2

J , 7 bajtów

,&.|:@]

Wywrócony:

]@:|.&,

Wypróbuj online!

Komentarz Jonasza do odpowiedzi APL Adama skłonił mnie do podjęcia wyzwania. To było naprawdę trudne, ponieważ fleksje .i :zawsze przyczepiają się do symbolu po lewej stronie i podeszwy| (wartość abstrakcyjna) nie jest zadowolona z ciągów.

Jak działają

Zasadniczo jest to losowa mieszanka no-opów połączonych przez różne złącza.

,&.|:@]
     @]   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

Ta odpowiedź jest o jeden bajt krótsza niż banalne nadużywanie komentarzy:

J , 8 bajtów

]NB.BN.|

Wywrócony:

|.NB.BN]

Wypróbuj online!

W J znacznikiem komentarza jest NB., który jest dłuższy niż każdy inny język, który znam.

Bubbler
źródło
2

W , 2 bajty

Prawie tak samo jak rozwiązanie 05AB1E.

a_

Wyjaśnienie

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
za'_'
źródło
1

C (gcc) , 56 bajtów

Nic fajnego. Użyłby, puts()ale wtedy końcowe białe znaki nie byłyby spójne między dwoma wariantami.

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

Wypróbuj online!

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

Wywrócony!

gastropner
źródło