Ci sono 97 caratteri ASCII che le persone incontrano regolarmente. Si dividono in quattro categorie:
Lettere (52 in totale)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Numeri o cifre (10 in totale)
0123456789
Simboli e punteggiatura (32 in totale)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Spazio bianco (3 in totale)
Spazio
\t
e newline\n
. (Tratteremo le varianti di newline\r\n
come un solo personaggio.)
Per concisione, chiameremo queste categorie L, N, S e W rispettivamente.
Scegli una delle 24 permutazioni delle lettere LNSW
che desideri e ripeterla indefinitamente per formare un modello di programmazione per te stesso.
Ad esempio, potresti scegliere la permutazione NLWS
, quindi il tuo modello di programmazione sarebbe:
NLWSNLWSNLWSNLWSNLWS...
Devi scrivere un programma o una funzione basati su questo modello, dove:
Ogni
L
viene sostituito con qualsiasi lettera (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
).Ogni
N
viene sostituito con qualsiasi numero (0123456789
).Ogni
S
viene sostituito con qualsiasi simbolo (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).Ognuno
W
è sostituito da qualsiasi carattere di spazio bianco (\t\n
).
Fondamentalmente, il tuo codice deve seguire il modello
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
come suggerisce il titolo della domanda, salvo che tu possa scegliere un diverso ordinamento delle quattro categorie di caratteri, se lo desideri.
Nota che:
Le sostituzioni per una categoria possono essere caratteri diversi. ad esempio, si
9a ^8B\t~7c\n]
conforma validamente al modelloNLWSNLWSNLWS
(\t
e\n
sarebbero i loro caratteri letterali).Non ci sono restrizioni sulla lunghezza del codice. ad es.
1A +2B -
e1A +2B
e1A
e1
tutti conformi al modelloNLWSNLWSNLWS...
.
Ciò che deve fare il codice conforme al modello è prendere un carattere ASCII non esteso e generare un numero compreso tra 0 e 4 in base alla categoria di cui è membro nella categoria precedente. Cioè, output 1
se l'input è una lettera, 2
se un numero, 3
se un simbolo e 4
se lo spazio bianco. Uscita 0
se l'input è nessuno di questi (un carattere di controllo ).
Per l'input, puoi in alternativa prendere un numero compreso tra 0 e 127 compreso che rappresenta il codice del carattere ASCII di input.
Le coppie di input (come codice char) e output che il codice deve avere sono esattamente le seguenti:
in out
0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 4
10 4
11 0 or 4
12 0 or 4
13 0 or 4
14 0
15 0
16 0
17 0
18 0
19 0
20 0
21 0
22 0
23 0
24 0
25 0
26 0
27 0
28 0
29 0
30 0
31 0
32 4
33 3
34 3
35 3
36 3
37 3
38 3
39 3
40 3
41 3
42 3
43 3
44 3
45 3
46 3
47 3
48 2
49 2
50 2
51 2
52 2
53 2
54 2
55 2
56 2
57 2
58 3
59 3
60 3
61 3
62 3
63 3
64 3
65 1
66 1
67 1
68 1
69 1
70 1
71 1
72 1
73 1
74 1
75 1
76 1
77 1
78 1
79 1
80 1
81 1
82 1
83 1
84 1
85 1
86 1
87 1
88 1
89 1
90 1
91 3
92 3
93 3
94 3
95 3
96 3
97 1
98 1
99 1
100 1
101 1
102 1
103 1
104 1
105 1
106 1
107 1
108 1
109 1
110 1
111 1
112 1
113 1
114 1
115 1
116 1
117 1
118 1
119 1
120 1
121 1
122 1
123 3
124 3
125 3
126 3
127 0
Gli input 11, 12 e 13 corrispondono a caratteri che a volte sono considerati spazi bianchi, quindi i loro output possono essere 0
o 4
come desideri.
Vince il codice più breve in byte.