Il y a 97 caractères ASCII que les gens rencontrent régulièrement. Ils se répartissent en quatre catégories:
Lettres (52 au total)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Nombres ou chiffres (10 au total)
0123456789
Symboles et ponctuation (32 au total)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Espaces blancs (3 au total)
Espace
\t
et nouvelle ligne\n
. (Nous traiterons les variantes de nouvelle ligne comme\r\n
un seul caractère.)
Par souci de concision, nous appelons ces catégories L, N, S et W respectivement.
Choisissez l’une des 24 permutations des lettres que LNSW
vous désirez et répétez-la indéfiniment pour vous constituer un modèle de programmation.
Par exemple, vous pouvez choisir la permutation NLWS
afin que votre modèle de programmation soit:
NLWSNLWSNLWSNLWSNLWS...
Vous devez écrire un programme ou une fonction basé sur ce modèle, où:
Chaque
L
est remplacé par une lettre (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
).Chaque
N
est remplacé par un nombre (0123456789
).Chaque
S
est remplacé par un symbole (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).Chaque
W
est remplacé par n'importe quel caractère d'espacement (\t\n
).
Fondamentalement, votre code doit suivre le modèle
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
comme le suggère le titre de la question, si vous le souhaitez, vous pouvez choisir un ordre différent pour les quatre catégories de caractères.
Notez que:
Les remplacements pour une catégorie peuvent être différents caractères. Par exemple,
9a ^8B\t~7c\n]
conforme conforme au modèleNLWSNLWSNLWS
(\t
et\n
serait leurs caractères littéraux).Il n'y a pas de restrictions de longueur de code. Par exemple
1A +2B -
,1A +2B
et1A
et1
tous sont conformes au modèleNLWSNLWSNLWS...
.
Votre code conforme au modèle doit prendre un caractère ASCII non étendu et générer un nombre compris entre 0 et 4 en fonction de la catégorie dont il est membre dans la catégorisation ci-dessus. C'est-à-dire, sortie 1
si l'entrée est une lettre, 2
si un nombre, 3
si un symbole et 4
si un espace. Sortie 0
si l'entrée est nulle (un caractère de contrôle ).
Pour la saisie, vous pouvez également utiliser un nombre compris entre 0 et 127 qui représente le code du caractère ASCII saisi.
Les paires d’entrée (en tant que code de caractère) et de sortie que votre code doit avoir sont précisément les suivantes:
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
Les entrées 11, 12 et 13 correspondent à des caractères qui sont parfois considérés comme des espaces, par conséquent leurs sorties peuvent être 0
ou 4
comme vous le souhaitez.
Le code le plus court en octets gagne.