Це завдання досить просте і використовує три чіткі "операторські" символи. Ваше завдання, з огляду на просту послідовність літер, виконайте наступне завдання , щоб закодувати його з допомогою <, >, *. Ви можете скористатися великими або малими літерами, не потрібно обробляти обидва.
Пояснення шифру
Шифр простий, ви використовуєте операції з збільшення та зменшення, щоб переходити від літери 1 до кінця букви, *будучи вашою функцією "подати". Оператор для "приросту" буде, >а "декремент" буде <.
Приклад використання слова adbc:
- Почніть з першої літери слова, виведіть цю букву.
a - Далі, використовуйте
>та<(як brainfuck), щоб "перейти" поточного листа до наступного.a>це призведе до "підвищення"aна 1 листb.a<це призведе до того,zщо ви опускаєте букву (вона загортає, ви завжди повинні вибирати напрямок, що призводить до ОСТАННЯ кількість операцій). - Після виведення правильної мінімізованої комбінації
<та>виведення a*позначаємо, що ми дійшли до наступної літери.
Крок для кодування adbc:
a # a
a>>>* # ad
a>>>*<<* # adb
a>>>*<<*>* # adbc
Приклади
Крок для кодування aza:
a # a
a<* # az
a<*>* # aza
Більше прикладів:
"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>*>*>*>*>*<<<<<<*"
Правила
- Ми кодуємо не розшифровуючи, тому не псуйте це.
- Ви можете припустити, що повідомлення буде містити літери
[A-Z]або[a-z], на ваш вибір. - Для позначення
*(EG$) ви можете використовувати будь-який не буквений / цифровий / зарезервований символ . - Ви повинні мати закінчення
*, воно не вказується на повтори. - Ви можете вважати, що немає порожніх рядків, але можливий один символ.
- Якщо він розташований рівновіддалено до наступної літери, ви можете вибрати напрямок.
- Це кодовий гольф , виграє найменший байт.
Поясніть, будь ласка, свою відповідь, це допомагає іншим навчатися таким чином.
zlслід використовувати >.
alphabetна мій погляд , a>>>>>>>>>>>*>>>>*<<<<<<<<*<<<<<<<*>*>>>*<<<<<<<<<<<*і zlмає бути z>>>>>>>>>>>>*і bananaмає друге рішення існуєb<*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*
zm. @jorg хороший улов, виправлений у всіх, було ручним зусиллям.
abcdefghijklmnopqrstuvwxyzі не є його власним вкладом?