;#
Es un lenguaje muy simple. Tiene 2 comandos:
;
incrementará el acumulador#
emite el acumulador módulo 127 y luego reinicia el acumulador
;$
También es muy simple y es muy similar (y aún no existe). Tiene 2 comandos:
;
incrementará el acumulador$
emite el acumulador módulo 127. Sin embargo, no reinicia el acumulador.
Desafío
Cree un programa que convierta el ;#
código en ;$
código. Es decir, dada la entrada a
utilizando métodos estándar, la salida es la más corta de b
modo que a
en las ;#
salidas sea lo mismo que b
en ;$
. La entrada solo contendrá los caracteres ';'
y '#'
. La entrada no tendrá punto y coma final. Es decir, coincidirá con la expresión regular (;*#)+
. Esto también significa que la entrada no estará en blanco. Tenga en cuenta que ;;;;##
es posible (equivalente a ord(4) ord(0)
).
Ejemplos
;# code -> ;$ code
;;;;;;;;;;#;;;;;;;;;;;;# -> ;;;;;;;;;;$;;$
;;;;;;;;;;;;;;#;;;# -> ;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;# -> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;$$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;$;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;$ (Hello, World!)
;#
preguntas dando vueltas. No son muy interesantes.;#
desafíos anteriores ; fue el primero después del compilador y el transpilador IIRC.;#
entrada es la más corta?Respuestas:
JavaScript (ES6), 68 bytes
Ejemplos
Mostrar fragmento de código
fuente
Jalea , 18 bytes
Pruébalo en línea!
Cómo funciona
fuente
PHP, 99 bytes
fuente
J , 37 bytes
Pruébalo en línea!
fuente
Python,
1011009785 bytes1 bytes guardados gracias a @WheatWizard
fuente
)
yfor
Retina , 52 bytes
Pruébalo en línea! Incluye suite de prueba. Explicación: 127 se agrega a cada uno
#
para facilitar el módulo de resta 127; los#
s se cambian a$
al mismo tiempo. La sustracción en sí misma se maneja mediante la mirada hacia atrás, lo(?<=\$\1(;{127})?\$\1)
que garantiza que restamos el número de;
s entre los dos#
s anteriores (que maneja el caso cuando hay más;
s) o 127 menos que ese número (que maneja el caso cuando hay menos;
s y necesitan pasar 127). Se utiliza un retrospectivo para que todos los reemplazos se puedan calcular en una sola pasada. Para que siempre haya dos correos#
electrónicos anteriores ,#
se prefieren temporalmente dos correos electrónicos adicionales .fuente
Perl 5
-p
, 65 bytesPruébalo en línea!
fuente