Compte tenu des 95 caractères imprimables en ASCII plus de nouvelle ligne, séparez-le en deux groupes égaux de 48 caractères (ci-après appelés groupe A et groupe B). Créez un mappage individuel de votre choix (vous avez toute discrétion) entre les deux groupes. En d'autres termes, la A
carte peut correspondre à a
, et vice versa, mais A
peut également correspondre à >
et inversement, si c'est ce dont vous avez besoin pour votre programme.
Une fois que vous avez divisé l'ASCII en deux groupes, écrivez deux programmes et / ou fonctions en n'utilisant que les caractères de chaque groupe. En d'autres termes, écrivez un programme / fonction qui utilise uniquement les caractères du groupe A et un autre programme / fonction qui utilise uniquement les caractères du groupe B.
Ces programmes doivent pouvoir recevoir un caractère en entrée. Le programme écrit avec les caractères du groupe A doit sortir / retourner le même caractère s'il s'agit d'un caractère du groupe A et le caractère du groupe A mappé s'il a reçu un caractère du groupe B; le programme Groupe A doit toujours sortir un caractère du groupe A. De même, le programme du groupe B doit générer le même caractère s’il s’agit d’un caractère du groupe B et le caractère mappé du groupe B si l’entrée est un caractère du groupe A.
Cela peut ne pas être si clair, alors voici un exemple. Si vous supposez que toutes les lettres majuscules font partie du groupe A et que toutes les lettres minuscules appartiennent au groupe B et que vous avez choisi d'affecter votre correspondance un à un pour ces lettres, alors: en voici quelques unes: échantillon entrées / sorties:
Programme A:
Input Output
A A
D D
a A
q Q
Programme B:
Input Output
A a
D d
a a
q q
Autres règles:
- Les deux programmes n'ont pas besoin d'être dans la même langue.
- Ils n'ont pas besoin d'être les deux programmes ou les deux fonctions; l'un pourrait être un programme, l'autre une fonction, c'est bien.
- Ils n'ont pas besoin de travailler de la même manière, d'être de la même longueur, quoi que ce soit du genre; ils doivent simplement respecter les autres règles ci-dessus.
- Oui, un seul de vos programmes peut utiliser des nouvelles lignes et un seul peut utiliser des espaces (il peut s'agir du même programme ou d'un programme différent).
- Vous n'avez pas besoin d'utiliser les 48 caractères de chaque programme.
Les failles standard sont interdites, comme d'habitude. Tous les programmes doivent être autonomes, aucun fichier contenant le mappage que vous choisissez.
Critères de notation: code-golf . Plus précisément, la somme des octets du texte des deux programmes.
Merci de poster votre réponse comme ceci:
Langue - # octets + Langue - # octets = # octets
Une description non équivoque de votre cartographie. Si c'est compliqué, utilisez un tableau comme celui-ci:
ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.)
Ou bien, vous pouvez simplement l'expliquer (les 48 premières cartes sont classées en 48), suivies de votre réponse normalement.
+
et >
, et l'autre utilisant -
et <
. Ensuite, vous devez essayer de générer les opérateurs manquants, tels qu'un ,
ou .
dans le programme, qui ne peuvent pas les utiliser.