Escriba una quine adecuada cuya rotación sea en sí misma una quine adecuada.
Por ejemplo, si su código fuente es abcdef
, entonces:
abcdef
saldríaabcdef
bcdefa
saldríabcdefa
cdefab
saldríacdefab
defabc
saldríadefabc
efabcd
saldríaefabcd
fabcde
saldríafabcde
Una rotación "se realiza dividiendo una cuerda en dos partes e invirtiendo su orden" .
Puntuación
Este es el código de golf . La respuesta más corta en bytes gana. Se aplican lagunas estándar .
aaabbb
y podría decir que la próxima rotación esbbbaaa
? ¿O tendría que ser la próxima rotaciónbaaabb
?baaabb
.Respuestas:
Código de máquina Motorola MC14500B , 1 byte
La puntuación de 1 byte se deriva de dos instrucciones de 4 bits:
Explicación
Los pines del procesador están numerados:
En términos simples, los pines 4 a 7, se utilizan para presentar el registro de instrucciones con una instrucción, pero los bits se interpretan en el orden inverso. Por ejemplo, la instrucción
0001
tendría el pin # 7 en el estado alto y los pines 6 a 4 en el estado bajo.O, en pocas palabras, los pines 9 a 12 son las banderas de salida
FLGF
,FLGO
,RTN
, yJMP
, respectivamente. Tenga en cuenta que los datos generalmente se multiplexan alWRITE
pin (pin # 2). Los pines del indicador de salida son similares a los códigos de salida de otros idiomas.Rotaciones
Posición inicial
Los períodos de reloj:
NOPO
instrucción pone el pin # 10 (FLGO
) en el estado alto. Antes del siguiente período de reloj, los pines del indicador de salida se vuelven a colocar en el estado bajo.LDC
instrucción carga el complemento del valor del Bus de datos en el Registro de resultados, sin afectar los pines de la bandera de salida.Por lo tanto, durante los dos períodos de reloj del programa, los pines del indicador de salida han representado
0100 0000
, lo que, leído en reversa (como los pines de entrada), es0000 0010
, o las instrucciones originales.Primera rotación
Los períodos de reloj:
Durante estos dos períodos de reloj, los pines del indicador de salida han representado
0000 0100
, que, cuando se invierten, son las instrucciones0010 0000
.fuente