To zadanie jest dość proste i wykorzystuje trzy różne znaki „operatora”. Twoim zadaniem jest, biorąc pod uwagę prostą sekwencję liter, należy wykonać następujące czynności, aby zakodować za pomocą <
, >
, *
. Możesz wybrać użycie wielkich lub małych liter, nie musisz obsługiwać obu.
Wyjaśnienie szyfru
Szyfr jest prosty, używasz operacji inkrementacji i dekrementacji, aby przechodzić od litery 1 do litery końcowej, *
będąc funkcją „wysyłania”. Operatorem „inkrementacji” będzie >
i „decrement” będzie <
.
Przykład z użyciem słowa adbc
:
- Zacznij od pierwszej litery słowa, wypisz tę literę.
a
- Następnie użyj
>
i<
(jak pieprzenie mózgu), aby „nawigować” bieżącą literę do następnej.a>
spowodowałoby „podniesienie”a
o 1 do literyb
.a<
spowodowałobyz
to, że obniżasz literę (jest ona zawijana, zawsze musisz wybrać kierunek, w wyniku czego NAJMNIEJ liczba operacji). - Po wypisaniu poprawnej zminimalizowanej kombinacji
<
i wypisanie>
a*
oznacza, że osiągnęliśmy następną literę.
Kroki do zakodowania adbc
to:
a # a
a>>>* # ad
a>>>*<<* # adb
a>>>*<<*>* # adbc
Przykłady
Kroki do zakodowania aza
to:
a # a
a<* # az
a<*>* # aza
Więcej przykładów:
"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>*>*>*>*>*<<<<<<*"
Zasady
- Jesteśmy kodowania nie dekodowania, więc nie bałagan że up.
- Możesz założyć, że wiadomość będzie zawierać litery
[A-Z]
lub[a-z]
twój wybór. - Możesz użyć dowolnego nieliterowego / numerycznego / zarezerwowanego znaku do oznaczenia
*
(EG$
). - Musisz mieć zakończenie
*
, nie ma to miejsca na powtórzenia. - Możesz założyć, że nie ma pustych łańcuchów, ale możliwy jest pojedynczy znak.
- Jeśli jest w jednakowej odległości do następnej litery, możesz wybrać kierunek.
- To jest golf golfowy , wygrana o najniższej liczbie bajtów.
Proszę wyjaśnić swoją odpowiedź, pomaga to innym w nauce w ten sposób.
zl
powinienem użyć >
.
alphabet
jest moim zdaniem a>>>>>>>>>>>*>>>>*<<<<<<<<*<<<<<<<*>*>>>*<<<<<<<<<<<*
i zl
powinien być z>>>>>>>>>>>>*
i banana
powinien istnieć drugie rozwiązanieb<*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*
zm
. @ jorg dobre połowy, naprawione wszystkie, były wysiłkiem ręcznym.
abcdefghijklmnopqrstuvwxyz
i nie jest własnym wkładem?