Stax , 11 bytes (puntaje de 4)
'''cc'~~'dd
¡Ejecute y depure en línea!
Es un honor para mí tener la primera respuesta (cronológicamente) a este desafío con un puntaje mayor o igual a 4. Sin embargo, el puntaje puede ser aún mayor.
En Stax, se escribe un literal de cadena que se compone de un solo carácter '
, por '', 'c, 'd, '~
lo que todos los literales de cadena. Los comandos correspondientes para c
d
y ~
significa duplican la parte superior de la pila principal, abren la parte superior de la pila principal, abren la parte superior de la pila principal y empujan a la pila de entrada, respectivamente. Para este desafío, la pila de entrada no afecta la salida y no es importante, por lo tanto, podemos decird
y ~
son idénticos.
Explicación
Es mejor dividir el código en varias partes y considerarlas por separado.
Cuando no se manipula, '''cc
empuja un literal '
y un literal c
a la pila principal, y duplica la parte superior, por lo que la pila sería (de abajo a abajo) c,c,'
.
Cuando no se manipula, '~~
empuja el literal ~
y luego lo hace estallar (y empuja a la pila de entrada), que es básicamente un no-op para la pila principal.
Cuando no se manipula, 'dd
empuja el literal d
y luego lo abre, otro no-op para la pila principal.
Al final del programa, dado que no se realiza una salida explícita, la parte superior de la pila principal se imprimirá implícitamente.
Si el programa se ejecuta tal cual, la pila final está quieta c,c,'
y generarác
.
Si la primera parte se convierte ''cc
, entonces tenemos un literal '
, y dos instrucciones de copia, la pila final será ',','
. Dado que las otras dos partes no funcionan, el resultado será'
.
Si se convierte en la primera parte '''c
, el resultado es básicamente el mismo con la sin control, pero c
no se duplica. Entonces la pila será c,'
. Después de dos no-op la parte superior de la pila esc
.
Entonces podemos detectar la radiación en la primera parte.
La segunda parte y la tercera parte funcionan exactamente de la misma manera. Tomaré la tercera parte como ejemplo.
Si se manipula la tercera parte, las dos primeras partes se mantienen tal cual y la pila antes de ejecutar la tercera parte es c,c,'
Si la tercera parte se convierte 'd
, d
se empuja un literal a la parte superior de la pila principal y no se hace nada más. La parte superior de la pila principal es ahora la d
que saldrá.
Si se convierte en la tercera parte dd
, se sacan dos elementos de la pila principal y ahora la parte superior de la pila es '
y se emite.
Por lo tanto, podemos detectar radiación en la tercera parte. Por la misma razón, podemos detectar radiación en la segunda parte.