Sin embargo, otra estafa flagrante de una estafa de una estafa . ¡Vota esos!
Su tarea, si desea aceptarlo, es escribir un programa / función que genere / devuelva su entrada / argumento de cadena. La parte difícil es que si invierto su código fuente, la salida también debe invertirse.
Para simplificar, puede suponer que la entrada siempre es una cadena de línea única que contiene solo letras ASCII (az), dígitos (0-9) y espacios.
Debe admitir una entrada de al menos 8 caracteres (no es necesario más de 8).
El comportamiento de la entrada vacía no está definido.
Ejemplos
Digamos que su código fuente es ABC
y su entrada es xyz
. Si escribo en su CBA
lugar y lo ejecuto, la salida debe ser zyx
.
Digamos que su código fuente es ABC
y su entrada es 96
. Si escribo en su CBA
lugar y lo ejecuto, la salida debe ser 69
.
Un único espacio en blanco inicial o final es aceptable siempre que sea coherente tanto en las salidas normales como en las inversas.
fuente
[...s]
se convierte en matriz, que se invierte y luego se vuelve a unir como una cadena..join``
, eche un vistazo a Plantillas etiquetadasAPL (Dyalog Unicode) ,
32 bytes SBCS-1 byte gracias a dzaima
Pruébalo en línea!
⊂
Adjunte el argumento para tratarlo como un singleton:[1,2,3]
→[[1,2,3]]
⌽
reversa (no tiene efecto en singletons):[[1,2,3]]
→[[1,2,3]]
Una matriz cerrada imprime con un espacio inicial y final.
! enilno ti yrT
⌽
reversa (no tiene efecto en singletons):[1,2,3]
→[3,2,1]
⊂
adjuntar:[1,2,3]
→[[1,2,3]]
Una matriz cerrada imprime con un espacio inicial y final.
fuente
Bash , 9 bytes
Invertido:
Pruébalo en línea! ! enilno ti yrT
fuente
cat
.Barril ,
32 bytesTodavía no hay TIO, ya que utiliza el intérprete más reciente.
Explicado
Je Así es. ¡Keg también puede resistir esas respuestas de 2 bytes (y usar ASCII puro y simple)!
Antiguo programa
Pruébalo en línea! O ! Enilno ti yrT
Porque dos pueden jugar el juego de 3 bytes. Es por eso. (¿mencioné que son 3 bytes de
utf8ASCII ?)fuente
Ruby , 21 bytes
Pruébalo en línea!
! enilno ti yrT
fuente
Haskell , 11 bytes
Pruébalo en línea! ¡Pruébalo al revés!
fuente
Stack Cats
-m
, 4 bytesPruébalo en línea!
¡Pruébalo al revés!
Esto funciona para cualquier entrada que no contenga bytes nulos.
Explicación
Wow, he llegado al punto en que escribo esto a mano ...
El programa completo es
|>I|I<|
.Como en la solución al desafío anterior, dado que el comando central
|
no hace nada, tampoco lo hace todo el programa.El programa invertido es entonces
|I>|<I|
.Curiosamente, si usamos este programa de inversión sin
-m
obtener una solución que funcione esta vez, los únicos bytes adicionales incurridos al omitir-m
son los que obtenemos al duplicar el código.Pila de gatos , 7 bytes
Pruébalo en línea!
¡Pruébalo al revés!
Explicación
La versión inversa de este programa es
|I>|<I|
la misma que la anterior, por lo que podemos ignorar eso. Pero la versión no inversa es diferente. Como<>
ahora apunta hacia el otro lado, el comando central termina sin hacer nada, por lo que el programa se convierte en un gato:Y así,
>I|
deshacer exactamente la primera mitad del programa.fuente
Carbón , 2 bytes
Pruébalo en línea! Explicación:
S
imprime implícitamente la entrada explícita y←
mueve el cursor hacia la izquierda (sin efecto en la salida final). Invertido:Pruébalo en línea!
←
cambia la dirección de la impresión implícita de la entrada explícitaS
invirtiendo así la salida.fuente
05AB1E , 2 bytes
Pruébelo en línea o en línea al revés .
Explicación:
fuente
Lenguaje de máquina de Turing ,
1432414321 bytesPruébalo en línea!
¡Pruébalo al revés!
Usé este sitio para revertirlo.
fuente
Pyth,
53 bytesz_k
-2 bytes al darse cuenta de que la nueva línea se voltea de todos modos
Explicación:
Explicación invertida:
fuente
Gaia , 2 bytes
Pruébalo en línea!
¡Pruébalo al revés!
Solución muy similar a otros idiomas de golf.
Explicación
Marcha atrás
fuente
Japt , 2 bytes
Pruébalo | Invertido
fuente
Cubix , 19 bytes
Pruébalo en línea!
Cubified
A^
obtener toda la entrada e ingresar al bucleo?
dar salida a los TOS de la pila y probar@
salir si prueba a negativo/;^
reflexionar hacia atrás, pop TOS y reingresar al bucleSe evitan todos los demás comandos.
Invertido
Pruébalo en línea!
Cubified
ABq
Obtenga toda la información, invierta y suelte los TOS en la parte inferior de la pilao$?|?
TOS de salida, omita la prueba y vuelva a la prueba@
detener si la prueba es negativaWUq
cambie de carril, gire en U para soltar el inicio de TOS del buclefuente
Python 3 , 27 bytes
Pruébalo en línea!
! enilno ti yrT
fuente
Pip , 4 bytes
Pruébalo en línea! ! enilno ti yrT
Hace uso del hecho de que
RV
es el operador inverso peroVR
es una variable indefinida. Ambas versiones imprimen el valor de su última expresión; en la versión estándar, eso esa
(con el primeroa
y elVR
ser no-ops), mientras que en la versión inversa, eso esRVa
(con el primeroa
es un no-op).fuente
Wolfram Language (Mathematica) , 16 bytes
Pruébalo en línea!
Invertido :
Pruébalo en línea!
Toma una lista de caracteres como entrada. Para la entrada de cadena, use
StringReverse
.fuente
Perl 5
-p
, 11 bytesLo obvio.
fuente
MathGolf , 3 bytes
Explicación:
Invertido:
fuente
Pushy , 4 bytes
Pruébalo en línea: adelante , atrás
Implementación simple con el carácter de comentario
\
. En el programa de reenvíos,"
imprime la entrada y el resto es un comentario; en el programa hacia atrás,@
invierte la entrada antes de imprimir.Alternativamente, podríamos reemplazar
\
conc
, lo que eliminaría la entrada de la pila.fuente
Kotlin , 15 bytes
¡Mi primera respuesta de Kotlin, y mucho más corta que el equivalente de Java!
Pruébalo en línea!
Invertido:
! enilno ti yrT
fuente
s//)(desrever.s
. Sin embargo, creo que es personalizado proporcionar al menos un lambda completo en Kotlin (o al menos Java). Entonces algo como{it}//})(desrever.ti{
debería hacer el truco.J , 7 bytes
Invertido:
Pruébalo en línea!
El comentario de Jonah sobre la respuesta APL de Adam me hizo aceptar el desafío. De hecho, fue bastante difícil, porque las inflexiones
.
y:
siempre se unen al símbolo a su izquierda, y un único|
(valor abstracto) no está contento con las cadenas.Cómo funcionan estos
Básicamente, es una mezcla aleatoria de no-ops conectados a través de varios conectores.
Esta respuesta es un byte más corta que el comentario trivial de abuso:
J , 8 bytes
Invertido:
Pruébalo en línea!
En J, el marcador de comentario en línea es
NB.
, que es más largo que cualquier otro idioma que conozco.fuente
W , 2 bytes
Prácticamente lo mismo que la solución 05AB1E.
Explicación
noitanalpxE
fuente
Jalea , 2 bytes
Pruébalo en línea!
Invertido!
Explicación
Explicación (invertida)
Siete otros dos byters
Ṛṛ ḷU ḷṚ Uȧ Ṛȧ ȯU ȯṚ
fuente
Brain-Flak , 13 bytes
Pruébalo en línea!
Reenviar: solo un comentario, para que solo envíe la entrada
Invertido:
Pruébalo en línea!
Mover todo a la segunda pila, por lo que se invierte.
fuente
CJam , 7 bytes
Versión aburrida con comentarios. Si CJam fallara en silencio, ¡ya podría haber guardado como 3 bytes en 2 preguntas!
fuente
Stax , 2 bytes
Ejecútelo invertido
fuente
PHP , 27 bytes
Pruébalo en línea!
Pruébalo en línea!
fuente
C (gcc) , 56 bytes
Nada sofisticado. Habría utilizado,
puts()
pero el espacio en blanco al final no habría sido coherente entre las dos variantes.Pruébalo en línea!
Invertido!
fuente