Esta tarea es bastante simple y utiliza tres caracteres distintos de "operador". Su tarea es, dada una simple secuencia de letras, realice la siguiente tarea para codificarla utilizando <, >, *. Puede elegir usar letras mayúsculas o minúsculas, no tiene que manejar ambas.
Explicación de cifrado
El cifrado es simple, está utilizando operaciones de incremento y decremento para recorrer de la letra 1 a la letra final, *siendo su función de "envío". El operador para "incremento" será >y "decremento" será <.
Un ejemplo usando la palabra adbc:
- Comience con la primera letra de la palabra, envíe esa letra.
a - Luego, use
>y<(como brainfuck) para "navegar" la letra actual a la siguiente.a>daría como resultado 'elevar'apor 1 al pie de la letrab.a<resultaríazporque está bajando la letra (se ajusta, siempre debe elegir la dirección que resulte en la MENOS cantidad de operaciones). - Después de generar la combinación minimalista correcta de
<y>generar a*para indicar que hemos llegado a la siguiente letra.
Los pasos para codificar adbcserían:
a # a
a>>>* # ad
a>>>*<<* # adb
a>>>*<<*>* # adbc
Ejemplos
Los pasos para codificar azaserían:
a # a
a<* # az
a<*>* # aza
Más ejemplos:
"abcdef" = "a>*>*>*>*>*"
"zyaf" = "z<*>>*>>>>>*"
"zzzzzz" = "z*****"
"z" = "z"
"zm" = "z<<<<<<<<<<<<<*" or "z>>>>>>>>>>>>>*" (equidistant)
"zl" = "z>>>>>>>>>>>>*"
"alphabet" = "a>>>>>>>>>>>*>>>>*<<<<<<<<*<<<<<<<*>*>>>*<<<<<<<<<<<*"
"banana" = "b<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*" OR "b<*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*"
"abcdefghijklmnopqrstuvwxyz" = "a>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*>*"
"abcdefz" = "a>*>*>*>*>*<<<<<<*"
Reglas
- Estamos codificando, no decodificando, así que no lo estropees.
- Puede suponer que el mensaje contendrá letras
[A-Z]o[a-z], a su elección. - Puede usar cualquier carácter que no sea letra / numérico / reservado para denotar
*(EG$). - Debe tener el final
*, no está implícito en las repeticiones. - Puede suponer que no hay cadenas vacías, pero es posible un solo carácter.
- Si es equidistante en ambos sentidos a la siguiente letra, puede elegir una dirección.
- Este es el código de golf , el menor recuento de bytes gana.
Por favor explique su respuesta, ayuda a otros a aprender de esta manera.
zldebería usar >.
alphabetestá en mi opinión a>>>>>>>>>>>*>>>>*<<<<<<<<*<<<<<<<*>*>>>*<<<<<<<<<<<*y zldebería ser z>>>>>>>>>>>>*y para bananasi existe una segunda soluciónb<*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*
zm. @jorg buenas capturas, las arregló todas, fue un esfuerzo manual.
abcdefghijklmnopqrstuvwxyzy no es su propia entrada?