Teilen Sie die 95 druckbaren Zeichen in ASCII plus Zeilenvorschub in zwei gleich große 48 Zeichengruppen (im Folgenden Gruppe A und Gruppe B genannt) auf. Erstellen Sie eine Eins-zu-Eins-Zuordnung Ihrer Wahl zwischen den beiden Gruppen. Mit anderen Worten, A
kann auf a
und umgekehrt abgebildet werden, kann aber A
auch auf >
und umgekehrt abgebildet werden, wenn Sie dies für Ihr Programm benötigen.
Wenn Sie ASCII in zwei Gruppen unterteilt haben, schreiben Sie zwei Programme und / oder Funktionen, wobei Sie jeweils nur die Zeichen in jeder Gruppe verwenden. Mit anderen Worten, schreiben Sie ein Programm / eine Funktion, die nur die Zeichen in Gruppe A verwendet, und ein anderes Programm / eine Funktion, die nur die Zeichen in Gruppe B verwendet.
Diese Programme müssen ein Zeichen als Eingabe empfangen können. Das Programm, das mit den Zeichen in Gruppe A geschrieben wurde, sollte das gleiche Zeichen ausgeben / zurückgeben, wenn die Eingabe ein Zeichen der Gruppe A war, und das zugeordnete Zeichen der Gruppe A, wenn es ein Zeichen der Gruppe B erhielt. Das Programm der Gruppe A sollte immer ein Zeichen der Gruppe A ausgeben. In ähnlicher Weise sollte das Programm der Gruppe B dasselbe Zeichen ausgeben, wenn es sich um ein Zeichen der Gruppe B handelt, und das zugeordnete Zeichen der Gruppe B, wenn es sich bei der Eingabe um ein Zeichen der Gruppe A handelt.
Das ist vielleicht nicht so klar, also hier ein Beispiel. Wenn Sie davon ausgehen, dass sich alle Großbuchstaben in Gruppe A und alle Kleinbuchstaben in Gruppe B befinden und Sie ausgewählt haben, dass Ihre Eins-zu-Eins-Zuordnung für diese Buchstaben von einem zum anderen ist, dann: dann sind hier einige Beispiel Ein- / Ausgänge:
Programm A:
Input Output
A A
D D
a A
q Q
Programm B:
Input Output
A a
D d
a a
q q
Andere Regeln:
- Die beiden Programme müssen nicht in derselben Sprache sein.
- Sie müssen nicht beide Programme oder beide Funktionen sein. Das eine könnte ein Programm sein, das andere eine Funktion, das ist in Ordnung.
- Sie müssen nicht auf die gleiche Weise arbeiten, von ähnlicher Länge sein, so etwas; Sie müssen einfach die anderen oben genannten Regeln erfüllen.
- Ja, nur eines Ihrer Programme darf Zeilenumbrüche und nur eines Leerzeichen verwenden (dies kann dasselbe oder ein anderes Programm sein).
- Sie müssen nicht alle 48 Zeichen in jedem Programm verwenden.
Standard-Schlupflöcher sind wie gewohnt verboten. Alle Programme müssen eigenständig sein, keine Dateien, die die von Ihnen gewählte Zuordnung enthalten.
Bewertungskriterien: Code-Golf . Insbesondere die Summe der Bytes des Texts der beiden Programme.
Bitte posten Sie Ihre Antwort so:
Sprache - # Bytes + Sprache - # Bytes = # Bytes
Eine eindeutige Beschreibung Ihres Mappings. Wenn es kompliziert ist, verwenden Sie ein Diagramm wie das folgende:
ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.)
Oder Sie können es einfach erklären (die ersten 48 Karten bis zu den letzten 48 in Folge), gefolgt von Ihrer normalen Antwort.
+
und >
und das andere mit -
und haben <
. Dann müssen Sie versuchen, die fehlenden Operatoren zu generieren, z. B. ein ,
oder .
in dem Programm, das sie nicht verwenden kann.