Relacionado: Interquine
El programa A emite el código del programa B cuando se ejecuta, y B emite la fuente de C y C emite la fuente de A.
Esta vez no puedes intercambiar dos personajes e intercambiar de nuevo :)
Requisitos:
- Solo un idioma en todos los programas.
- Se aplican restricciones de lagunas estándar
- Todos los programas son diferentes. Un programa que se genera solo no califica. Dos que se producen entre sí tampoco califican.
- Todos los programas no están vacíos o tienen al menos 1 byte de longitud.
- No hay nada que leer porque stdin está conectado
/dev/null(puede abusar de esta regla si puede ). La salida va a stdout. - No use funciones que generen resultados aleatorios.
Adicional:
- Dar explicaciones si es posible
El puntaje es la longitud del más corto (¿puede generar un programa largo a partir de uno corto?). Escriba la duración de todos los programas y resalte el número más pequeño. La nueva línea final no cuenta. La puntuación más baja gana .

Respuestas:
Python 3 , 50 bytes
Pruébalo en línea!
La última expresión va de
1*2%7a2*2%7a4*2%7luego de vuelta a1*2%7.fuente
1-2/_forma un ciclo de 3 con(1,-1,3), que ahorra un byte al no necesitar escapar%.n,s='s=%r;print(s%%(s,-~%i%%3))';print(s%(s,-~1%3))reemplazando3connRProgN 2 ,
128 bytesExplicado
Debido a la naturaleza conveniente de cómo RProgN genera de manera predeterminada, esto deja el número, que recorre entre 1, 2 y 4, en la primera línea, y la versión en cadena de la función en la segunda. Inspirado por la respuesta de Python de @LeakyNun
Pruébalo en línea!
fuente
CJam , 17 bytes
Pruébalo en línea!
Probablemente no sea óptimo, pero esta es una modificación de mi enfoque del desafío anterior .
La idea básica es la misma, pero realizamos dos intercambios, uno de los cuales siempre es no operativo. Los índices son afectados
2,3y6:fuente
CJam , 14 bytes
Pruébalo en línea!
Los otros programas tienen 26 y 38 bytes de longitud, respectivamente.
Explicación
¡Otro enfoque más!
fuente
Jalea , 11 bytes
Esto generó el mismo programa con 1 reemplazado por 2 , que reemplazó 2 por 4 , lo que genera el programa original.
Pruébalo en línea!
fuente
Python 3, 127, 127 y 127 bytes
huellas dactilares
huellas dactilares
Esto se basa en mi respuesta a la pregunta de Interquine, que se basa en una quine de Python normal. Y sé exactamente qué hacer cuando recibimos una pregunta de quad-interquine;)
fuente
CJam , 14 bytes
Pruébalo en línea!
Explicación
fuente
Javascript (ES6),
6355 bytesSolución alternativa usando
Function.prototype.toString(cheaty, 30 bytes)fuente
Cálculo Lambda , 38 caracteres, 44 bytes
Una solución simple basada en la madre de todas las quines: el combinador y :
Usando reducciones beta vemos que esto es realmente una tri-interquina:
fuente
Java 8, 118 bytes
Sólo
int i=0;es la diferencia entre las funciones / salidas (es cualquiera0,1o2).Explicación:
Pruébalo en línea.
Explicación adicional:
quine -parte:
String scontiene el código fuente sin formato%sse usa para poner esta cadena en sí misma cons.format(...)%c,%2$cy34se utilizan para formatear las comillas dobles (")%%se usa para formatear el módulo-signo (%)s.format(s,...,34,s)lo pone todo juntoDiferencia de las salidas / funciones:
El mismo enfoque que la mayoría de las otras respuestas:
int icomienza a cualquiera0,1o2++i%3transforma esta a la siguiente (0→1;1→2;2→0)fuente
> <> , 15 bytes
Pruébalo en línea!
Utiliza la misma forma general que otras> <> quines, pero tiene un carácter adicional al frente que se cicla a través de 1, 2 y 4.
fuente