Tienes la tarea de escribir dos programas. El programa A no debe imprimir nada en todas las entradas, excepto cuando se ingresa el programa B , en cuyo caso debe imprimir 1. El programa B debe imprimir 1en todas las entradas, excepto cuando se ingresa el programa A , en cuyo caso no debe imprimir nada.
Puntuación:
- +1 para cada personaje de ambos programas.
- La puntuación más baja gana.

Respuestas:
GTB , 25
Ejecutado desde una calculadora TI-84
Programa
APrograma
BExplicación
`_Ingrese una cadena@_eq;"Compruebe si es igual al código fuente (#se elimina automáticamente junto con letras minúsculas)$w;&Si es así, muestre 1 (de lo contrario, nada) [porqueBes,$#w;&si no, muestre 1 (de lo contrario, nada)]fuente
Bash - 32 caracteres
Guión A - 16 caracteres
Guión B - 16 caracteres
Uso
fuente
Rubí, 54
UN
si
ejemplos:
fuente
J (62)
Como no prohibiste esto ...
Almacene los programas como
AyBrespectivamente.Programa A (30):
Programa B (32):
Cómo funciona (el programa B, A es similar):
1!:1[3: leer stdin1!:1<'A': leer archivoA-:: ver si son iguales-.: negar el resultado#~: replica el resultado por sí mismo (por lo tanto,1da como resultado uno1y0da como resultado cero0s, es decir, nada)echo: salidaexit: salir (el intérprete J no sale por defecto cuando llega al final del archivo)fuente
Haskell - SIN fuente de carga - 478
644caracteresEsto supone que getContents SIEMPRE termina con una nueva línea y, por lo tanto, suelta el carácter final sin verificarlo porque no tengo ganas de escapar.
UN
si
Funciona como un quine estándar, pero intercambiando * por * para obtener el otro programa (evitando esos caracteres en otra parte).
La siguiente prueba se imprime como se esperaba (reemplazando main = interact $ con a = y b =)
-
fuente
Python 2.7 - 82
Archivo A (literalmente llamado solo
a):Archivo B (literalmente llamado solo
b):fuente
.py... ¿eso funciona?python a.touch a, creará un archivo vacío si tiene permisos. Para una diversión extra cruel, incluso puede hacer lotouch \~que crea un archivo llamado con una sola tilde (~) - luego ver cómo alguien intentaRuby, 166 caracteres, sin fuente de lectura
UN:
SI:
Asegúrese de que su editor de texto no se guarde con una nueva línea final.
Uso (ejemplo):
Cada programa construye la fuente del otro programa usando un HEREdoc y transforma cadenas, luego compara el resultado con la entrada.
fuente
pes un método de rubí incorporado que imprime los argumentos que se le pasan, luego los devuelve, lo que lo hace útil para la salida de golf. Cuando se llama sin argumentos, devuelve nil. El argumento paragetses un delimitador, por lo que pasarpresulta en un delimitador nulo, lo que significa que lee STDIN hasta que llega a EOF. La expresión heredoc es<<2, por lo que termina en (y no incluye), el 2 al final del archivo.2delimitador heredoc es un poco tradicional de ofuscación. Puede ser casi cualquier cadena.Haskell - 138
Realmente no es una buena respuesta, pero quería que ambos programas usaran la misma fuente. Podría guardar algunos caracteres cambiando el nombre del archivo, pero no va a hacer de esta una solución ganadora, así que no creo que valga la pena.
Compile esta fuente como ambos
AyB.Prueba:
fuente
Ay luego copiarAaB?Node.js - 142 caracteres
Script
|(también conocido como Script A) - 80 caracteresScript
&(también conocido como Script B) - 62 caracteresUso
Descripción
El guión B lee el contenido del guión A y lo evalúa después de intercambiar los nombres de archivo y el
andoperador a unor.Puse un nombre a los archivos
&y|así puedo realizar un solo reemplazo en el Script B.fuente
Python 3 - 102 caracteres
Imprime 1 si la entrada es la misma que la del programa 2; de lo contrario, nada:
Imprime 1 si la entrada no es la misma que la del programa 1; de lo contrario, nada:
fuente
bash / grep - 59 caracteres
51 caracteres si solo contamos la cadena real del programa.
fuente
R (62 caracteres)
produce:
Meta comentario: R es relativamente malo en el golf de código ya que no hay un atajo para
function...fuente