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)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzNombres ou chiffres (10 au total)
0123456789Symboles et ponctuation (32 au total)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~Espaces blancs (3 au total)
Espace
, tabulation\tet nouvelle ligne\n. (Nous traiterons les variantes de nouvelle ligne comme\r\nun 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 LNSWvous désirez et répétez-la indéfiniment pour vous constituer un modèle de programmation.
Par exemple, vous pouvez choisir la permutation NLWSafin que votre modèle de programmation soit:
NLWSNLWSNLWSNLWSNLWS...
Vous devez écrire un programme ou une fonction basé sur ce modèle, où:
Chaque
Lest remplacé par une lettre (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz).Chaque
Nest remplacé par un nombre (0123456789).Chaque
Sest remplacé par un symbole (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).Chaque
West 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(\tet\nserait leurs caractères littéraux).Il n'y a pas de restrictions de longueur de code. Par exemple
1A +2B -,1A +2Bet1Aet1tous 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 1si l'entrée est une lettre, 2si un nombre, 3si un symbole et 4si un espace. Sortie 0si 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 0ou 4comme vous le souhaitez.
Le code le plus court en octets gagne.