Я переворачиваю исходный код, вы переворачиваете ввод!

17

Еще один вопиющий плагиат из рип-офф в виде плагиата . Иди голосуй!

Ваша задача, если вы хотите принять это, - написать программу / функцию, которая выводит / возвращает свой строковый ввод / аргумент. Сложность в том, что если я переверну ваш исходный код, то и выходной файл тоже должен быть перевернут.

Для простоты можно предположить, что ввод всегда представляет собой строку из одной строки, содержащую только буквы ASCII (az), цифры (0-9) и пробелы.

Должен поддерживать ввод длиной не менее 8 символов (больше 8 не обязательно).

Поведение для пустого ввода не определено.

Примеры

Допустим, ваш исходный код есть ABCи его ввод xyz. Если я пишу CBAвместо этого и запускаю его, вывод должен быть zyx.

Допустим, ваш исходный код есть ABCи его ввод 96. Если я пишу CBAвместо этого и запускаю его, вывод должен быть 69.

Допускается использование единственного начального или конечного пробела, если он согласован как с нормальными, так и с обратными выходами.

night2
источник

Ответы:

16

JavaScript, 32 байта

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

Перевернутый:

s=>[...s].reverse().join``//s>=s
Джеймс
источник
Отлично, не знал, что у JS нет встроенного реверса для строк. Кстати, ссылки TIO обычно делают ответы более приятными: попробуйте онлайн! Перевернутое
Ночь2
3
Нет обратной строки. [...s]преобразует в массив, который переворачивается, затем соединяется обратно как строка.
Джеймс
Если вы тоже споткнулись .join``- взгляните на Tagged Templates
nitzel
13

APL (Dyalog Unicode) , 3 2 байта SBCS

-1 байт благодаря dzaima

⌽⊂

Попробуйте онлайн!

 заключите аргумент, чтобы рассматривать его как одиночный: [1,2,3][[1,2,3]]

 обратный (не влияет на синглетоны): [[1,2,3]][[1,2,3]]

Вложенный массив печатается с начальным и завершающим пробелом.

! Enilno TY YRT

 обратный (не влияет на синглетоны): [1,2,3][3,2,1]

 приложить: [1,2,3][[1,2,3]]

Вложенный массив печатается с начальным и завершающим пробелом.

Адам
источник
Ницца. Диграфы делают это более трудным в J ... еще ничего не придумали
Иона
8

Кег , 3 2 байта

#?

Пока нет TIO, так как здесь используется самый последний переводчик

Разъяснения

#? #Implicit cat
?# Reversed input

Хех. Это верно. Кег также может противостоять этим 2-байтовым ответам (и используя чистый, простой ASCII)!

Старая программа

^#?

Попробуйте онлайн! Или !

Потому что двое могут играть в 3-байтовую игру. Поэтому. (Я упоминал, что это 3 байта utf8 ASCII ?)

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

?#^ #take input
Йоно 2906
источник
4

Стека кошек -m , 4 байта

|>I|

Попробуйте онлайн!

Попробуйте все наоборот!

Это работает для любых входных данных, которые не содержат нулевых байтов.

объяснение

Вау, я дошел до того, что я пишу это от руки ...

Полная программа есть |>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.

Как и в решении предыдущего вызова, так как центр команды | ничего не делает, так и вся программа.

Обратный программа тогда |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.

Интересно, что если мы используем эту реверсивную программу без -mнас, мы все равно получим рабочее решение на этот раз, поэтому единственные дополнительные байты, которые возникают при пропуске, -m- это те, которые мы получаем при зеркалировании кода.


Стека кошек , 7 байт

|I<|>I|

Попробуйте онлайн!

Попробуйте все наоборот!

объяснение

Обращенная версия этой программы такая |I>|<I|же, как и выше, поэтому мы можем игнорировать это. Но нереверсивная версия отличается. Так как <>теперь точка указывает на другое, команда center ничего не делает, поэтому программа становится кошкой:

|   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|точно отменить первую половину программы.

Мартин Эндер
источник
4

Древесный уголь , 2 байта

S←

Попробуйте онлайн!Объяснение: неявно печатает явный ввод и перемещает курсор влево (не влияет на окончательный вывод). Перевернутый:

←S

Попробуйте онлайн! изменяет направление неявной печати явного ввода изменяя направление вывода.

Нил
источник
3

Машина Тьюринга Язык , 14324 14321 байт

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

Попробуйте онлайн!

Попробуйте все наоборот!

Я использовал этот сайт, чтобы изменить его.

ouflak
источник
Что ж...! Надеюсь, вы не написали первую половину вручную! Я действительно надеюсь!
Ночь2
1
Это действительно было не так уж много, как только я отсортировал стратегию. После того, как была изложена основная логика, это было в основном копирование / вставка / подстройка с последующей отладкой моих приглушенных попыток копирования / вставки / подстройки.
ouflak
3

Pyth, 5 3 байта

z_k

-2 байта, понимая, что перевод строки переводится в любом случае

Объяснение:

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

Обратное объяснение:

k     # Implicitly print the empty string
 _z   # Implicitly print the reversed input
famous1622
источник
2

Cubix , 19 байт

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

Попробуйте онлайн!

Cubified

    . @
    o ?
A ^ ; / | ? $ o
q B A . U W . .
    . .
    . .
  • A^ получить все входные данные и войти в цикл
  • o? выведите TOS стека и протестируйте
  • @ выйти, если тест на отрицательный результат
  • /;^ отразить назад, всплыть TOS и снова войти в цикл

Все остальные команды избегаются.

Перевернутый

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

Попробуйте онлайн!

Cubified

   . W
    U .
A B q o $ ? | /
; ^ A ? o @ . .
    . .
    . .
  • ABq Получить все входные данные, повернуть вспять и сбросить TOS на дно стека
  • o$?|? вывести TOS, пропустить тест и вернуться на тест
  • @ остановить, если тест, если отрицательный
  • WUq изменить полосу, повернуть на падение TOS начало цикла
MickyT
источник
2

Пип , 4 байта

aVRa

Попробуйте онлайн! ! Enilno TY YRT

Использует тот факт, что RVэто обратный оператор, но VRэто неопределенная переменная. Обе версии печатают значение своего последнего выражения; в стандартной версии это a(с первой aи VRсуществующей неактивностью), а в обратной версии - RVa(с первой a, неактивной).

DLosc
источник
2

MathGolf , 3 байта

x;l

Объяснение:

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

Перевернутый:

l   Push a string input
 ;  Discard it
  x Reverse the implicit input
Implicit output TOS
a'_»
источник
2

Напористый , 4 байта

"\"@

Попробуйте онлайн: вперед , назад

Простая реализация с символом комментария \. В программе пересылки "печатает ввод, а остальное - комментарий; в обратной программе,@ изменяет ввод перед печатью.

В качестве альтернативы мы могли бы заменить \на c, что бы очистить ввод из стека.

FlipTack
источник
2

Котлин , 15 байт

Мой первый ответ Kotlin, и намного короче, чем эквивалент Java!

s//)(desrever.s

Попробуйте онлайн!

Перевернутый:

s.reversed()//s

! Enilno TY YRT

Люк Стивенс
источник
1
Скобки - неправильный путь. Более правильный ответ будет s//)(desrever.s. Тем не менее, я думаю, что в Котлине (или хотя бы на Java) принято предоставлять хотя бы полную лямбду. Так что-то вроде {it}//})(desrever.ti{должно сделать свое дело.
Роман Грэф
2

J 7 байт

,&.|:@]

Перевернутый:

]@:|.&,

Попробуйте онлайн!

Комментарий Ионы в ответ Адама на APL заставил меня принять вызов. Это было довольно тяжело, потому что перегибы .и: всегда прикрепляются к символу слева и подошве| (абстрактное значение) не устраивает строки.

Как это работает

По сути, это случайная смесь неактивных устройств, подключенных через различные разъемы.

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

Этот ответ на один байт короче обычного злоупотребления комментарием:

J , 8 байт

]NB.BN.|

Перевернутый:

|.NB.BN]

Попробуйте онлайн!

В J это встроенный маркер комментария NB., который длиннее любого другого языка, который я знаю.

фонтанчик для питья
источник
2

W , 2 байта

Практически так же, как решение 05AB1E.

a_

объяснение

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
a'_»
источник
1

Желе , 2 байта

Uṛ

Попробуйте онлайн!

Перевернутый!

объяснение

U  | Reverse
 ṛ | Right argument (when used in a monadic chain like this, will return the original argument to the chain)

Объяснение (обратное)

ṛ  | Right argument (when used in a monadic chain and followed by a monadic link, will return the output of that monadic link)
 U | Reverse

Семь других двухбайтов Ṛṛ ḷU ḷṚ Uȧ Ṛȧ ȯU ȯṚ

Ник Кеннеди
источник
1

C (gcc) , 56 байтов

Ничего фантастического. Использовал бы, puts()но в этом случае конечные пробелы не были бы согласованы между двумя вариантами.

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

Попробуйте онлайн!

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

Перевернутый!

gastropner
источник