Dati i 95 caratteri stampabili in ASCII più newline, suddividili in due gruppi uguali di 48 caratteri (di seguito chiamati gruppo A e gruppo B). Crea un mapping uno a uno a tua scelta (hai totale discrezione) tra i due gruppi. In altre parole, A
potrebbe essere mappato a
e viceversa, ma A
potrebbe anche mappare >
e viceversa, se è quello che ti serve per il tuo programma.
Dopo aver suddiviso ASCII in due gruppi, scrivi due programmi e / o funzioni, usando solo i caratteri di ciascun gruppo, rispettivamente. In altre parole, scrivi un programma / funzione che utilizza solo i caratteri nel gruppo A e un altro programma / funzione che utilizza solo i caratteri nel gruppo B.
Questi programmi devono essere in grado di ricevere un carattere come input. Il programma scritto con i caratteri nel gruppo A dovrebbe generare / restituire lo stesso carattere se l'input era un carattere di gruppo A e il carattere di gruppo A mappato se riceveva un carattere di gruppo B; il programma Gruppo A dovrebbe sempre generare un carattere di gruppo A. Allo stesso modo, il programma Gruppo B dovrebbe generare lo stesso carattere se è un carattere di gruppo B e il carattere di gruppo B mappato se l'input è un carattere di gruppo A.
Potrebbe non essere così chiaro, quindi ecco un esempio. Se supponi che tutte le lettere maiuscole siano nel gruppo A, e tutte le lettere minuscole siano nel gruppo B, e hai scelto che il tuo mapping uno-a-uno per queste lettere sia dall'uno all'altro, quindi: ecco alcuni input / output di esempio:
Programma A:
Input Output
A A
D D
a A
q Q
Programma B:
Input Output
A a
D d
a a
q q
Altre regole:
- I due programmi non devono necessariamente essere nella stessa lingua.
- Non devono necessariamente essere entrambi programmi o entrambe le funzioni; uno potrebbe essere un programma, l'altro una funzione, va bene.
- Non hanno bisogno di lavorare allo stesso modo, avere una lunghezza simile, niente del genere; devono semplicemente soddisfare le altre regole sopra.
- Sì, solo uno dei tuoi programmi può utilizzare le nuove righe e solo uno può utilizzare gli spazi (potrebbe essere lo stesso o un programma diverso).
- Non è necessario utilizzare tutti e 48 i caratteri in ciascun programma.
Le scappatoie standard sono vietate, come di consueto. Tutti i programmi devono essere autonomi, nessun file contenente la mappatura scelta.
Criteri di punteggio: code-golf . In particolare, la somma dei byte del testo dei due programmi.
Invia la tua risposta in questo modo:
Lingua - # byte + Lingua - # byte = # byte
Una descrizione inequivocabile della tua mappatura. Se è complicato, usa un grafico come questo:
ABCDEFGHIJKLMNOPQRSTUVWXYZ (etc.) zyxwvutsrpqonmlkjihgfedcba (etc.)
Oppure puoi semplicemente spiegarlo (dalle prime 48 mappe alle ultime 48 in sequenza), seguita dalla tua risposta normalmente.
+
e >
, e l'altro usando -
e <
. Quindi devi provare a generare gli operatori mancanti, come un ,
o .
nel programma che non possono usarli.