Cette tâche est assez simple et utilise trois caractères "d'opérateur" distincts. Votre tâche est, étant donné une simple séquence de lettres, effectuer la tâche suivante pour encoder en utilisant <, >, *. Vous pouvez choisir d'utiliser des lettres majuscules ou minuscules, vous n'avez pas à gérer les deux.
Explication du chiffre
Le chiffrement est simple, vous utilisez des opérations d'incrémentation et de décrémentation pour passer de la lettre 1 à la lettre de fin, en *étant votre fonction "soumettre". L'opérateur pour "incrémenter" sera >et "décrémenter" sera <.
Un exemple utilisant le mot adbc:
- Commencez par la première lettre du mot, sortez cette lettre.
a - Ensuite, utilisez
>et<(comme brainfuck) pour "naviguer" de la lettre actuelle à la suivante.a>entraînerait une «augmentation»ade 1 à la lettreb.a<entraîneraitzparce que vous abaissez la lettre (il encapsule, vous devez toujours choisir la direction résultant dans le nombre MOINS d'opérations). - Après avoir sorti la combinaison minimisée correcte de
<et>sorti un*pour indiquer que nous avons atteint la lettre suivante.
Les étapes à coder adbcseraient les suivantes:
a # a
a>>>* # ad
a>>>*<<* # adb
a>>>*<<*>* # adbc
Exemples
Les étapes à coder azaseraient les suivantes:
a # a
a<* # az
a<*>* # aza
Plus d'exemples:
"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>*>*>*>*>*<<<<<<*"
Règles
- Nous n'encodons pas, nous ne décodons donc pas.
- Vous pouvez supposer que le message contiendra des lettres
[A-Z]ou[a-z], votre choix. - Vous pouvez utiliser n'importe quel caractère non-lettre / numérique / réservé pour indiquer
*(EG$). - Vous devez avoir la fin
*, ce n'est pas implicite sur les répétitions. - Vous ne pouvez supposer aucune chaîne vide, mais un seul caractère est possible.
- S'il est équidistant dans un sens ou dans l'autre jusqu'à la lettre suivante, vous pouvez choisir une direction.
- Il s'agit du code-golf , le plus petit nombre de victoires d'octets.
Veuillez expliquer votre réponse, cela aide les autres à apprendre de cette façon.
zldevrait utiliser >.
alphabetest à mon avis a>>>>>>>>>>>*>>>>*<<<<<<<<*<<<<<<<*>*>>>*<<<<<<<<<<<*et zldevrait être z>>>>>>>>>>>>*et pour bananasi une deuxième solution existeb<*<<<<<<<<<<<<<*>>>>>>>>>>>>>*<<<<<<<<<<<<<*>>>>>>>>>>>>>*
zm. @jorg de bonnes captures, toutes corrigées, était un effort manuel.
abcdefghijklmnopqrstuvwxyzet n'est pas sa propre entrée?