Un palíndromo es una cadena que es igual hacia adelante y hacia atrás, como el "auto de carreras".
Escriba un programa en algún lenguaje L, que tome cualquier programa P1 en el lenguaje L como entrada, y genere un programa palindrómico P2 en el lenguaje L que haga lo mismo que P1.
No necesita preocuparse por manejar programas de entrada con errores de sintaxis.
Este es el código de golf , por lo que gana la solución con el menor número de bytes.
code-golf
palindrome
Peter Olson
fuente
fuente
x=input();print(x+'#'+x[::-1])
. El subconjunto es el conjunto de todos los programas que no incluyen nuevas líneas.Respuestas:
Perl,
5554 bytesLee la fuente del programa de stdin y escribe en stdout.
Resultado de ejecutarse sobre sí mismo:
fuente
__DATA__
cuando se lee .. ej.print while(<DATA>);\n__DATA__
cambiará el comportamiento.__DATA__
. :)Java, 225 bytes
Salida en sí mismo (cuando se prettified de antemano):
fuente
Python 2, 68 bytes
No funciona si se ejecuta desde IDLE, porque necesita generar un carácter EOF para evitar que el programa espere la entrada.
Salida cuando se ejecuta en sí mismo:
Gracias a Greg Hewgill por ayudarnos a resolver problemas y al golf.
fuente
GolfScript,
109 bytesMuy similar a la solución de minitech , pero funciona bien con nuevas líneas. Se basa en el comportamiento divertido (e indocumentado) de GolfScript para ignorar un elemento inigualable (y no comentado)
}
, así como todo lo que le sigue.Fallará si la entrada contiene una incomparable
{
, pero eso técnicamente constituiría un error de sintaxis.Cómo funciona
Ejemplo
fuente
1\n2#
(\n
sería un carácter real de nueva línea) como su entrada.Código de máquina x86 en DOS (
.com
archivo) - 70 bytesTratar con archivos .COM, crear un síndrome de palyndrome es fácil, ya que el "cargador" COM simplemente coloca el contenido del archivo en la dirección
100h
y salta allí, el programa ya debe codificar su final de alguna manera e ignorar todo después de eso, así que solo podemos agregar el reverso de los primeros bytes N-1 (solo advertencia: si el programa de alguna manera intenta hacer trucos con la longitud del archivo, todo se rompe).Aquí está el volcado hexadecimal de mi
.COM
-palyndromizing.COM
:Toma el archivo de entrada en la línea de comando y escribe la salida en stdout; El uso esperado es algo así
compalyn source.com > out.com
.Asamblea comentada:
Probado en sí mismo y las soluciones a una pregunta anterior parecen funcionar bien en DosBox, seguirán algunas pruebas más exhaustivas en ejecutables DOS "canónicos".
fuente
GolfScript, 8
No maneja nuevas líneas, pero nadie las usa en GolfScript.
fuente
Bash + coreutils, 39 bytes
Lecturas de STDIN y salidas a STDOUT:
fuente
( echo 'Hello, World!' )
. bash prácticamente ignora todo después delexit
.Javascript ( ES6 ) Multilínea - 71
Un poco más o menos robó el método de comentarios de Quincunx aquí:
Línea simple - 49
fuente
C ++,
214209 bytesResultado de ejecutarse sobre sí mismo:
fuente
Brainfuck, 749 sin espacios en blanco (sin golf)
Esto produce programas de brainfuck que reflejan palíndromos, es decir, son imágenes especulares de sí mismos.
Dado un programa, genera
con
PROGRAM
yMIRROR
reemplazado por el programa (sin caracteres que no sean brainfuck) y su imagen especular.fuente
C 168
175Maneja correctamente la nueva línea escapada dentro del código fuente
Editar 1 error corregido cuando falta la última línea nueva
Editar 2 error corregido cuando la línea dentro del comentario termina con
*
: agregue una pestaña antes del//
comentario(y más golf)
C99 estándar, código válido, muchas advertencias
Sin golf
fuente
/* *<NL> */int main(){}
C # - 174
Prueba de entrada:
Prueba de salida:
fuente
//
embargo, su salida de prueba debería tener el final de cada línea ahora.PHP, 96 bytes
Uso de muestra:
Esto no es nada inteligente. Es solo un simple código que hace el trabajo ... Estaba de humor para jugar. ¡Sé que este código está plagado de malas prácticas de programación!
Finalmente, con mucho gusto aceptaré cualquier crítica y edición de este código.
fuente
Cobra - 134
fuente
Raqueta 133
Sin golf (pero aún muy imperativo):
Salida cuando se le da la versión sin golf como entrada:
fuente