Є 97 персонажів ASCII, з якими люди стикаються регулярно. Вони поділяються на чотири категорії:
Букви (52 всього)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzЧисла або цифри (всього 10)
0123456789Символи та пунктуація (всього 32)
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~Пробіл (3 усього)
Пробіл
, вкладка\tта новий рядок\n. (Ми розглянемо варіанти нових рядків,\r\nяк один символ.)
Для стиснення ми назвемо ці категорії L, N, S і W відповідно.
Виберіть будь-яку з 24 перестановок бажаних літер LNSWі повторіть її нескінченно, щоб сформувати для себе шаблон програмування.
Наприклад, ви можете вибрати перестановку NLWS, тож ваш шаблон програмування буде таким:
NLWSNLWSNLWSNLWSNLWS...
Вам потрібно написати програму або функцію на основі цього шаблону, де:
Кожен
Lзамінюється будь-якою літерою (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz).Кожен
Nзамінюється будь-яким числом (0123456789).Кожен
Sзамінюється будь-яким символом (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~).Кожен
Wзамінюється будь-яким символом пробілу (\t\n).
В основному, ваш код повинен відповідати шаблону
<letter><number><symbol><whitespace><letter><number><symbol><whitespace>...
як підказує заголовок питання, за винятком випадків ви можете вибрати інше впорядкування чотирьох категорій символів, якщо це потрібно.
Зауважте, що:
Заміни для категорії можуть бути різними символами. наприклад,
9a ^8B\t~7c\n]дійсно відповідає шаблонуNLWSNLWSNLWS(\tі\nце буде їх буквальна характеристика).Немає обмежень щодо довжини коду. наприклад ,
1A +2B -і1A +2Bта1Aі1все відповідає шаблономNLWSNLWSNLWS....
Що повинен відповідати шаблону коду, це взяти один нерозширений символ ASCII та вивести число від 0 до 4, залежно від того, до якої категорії він входить у вищезазначеній категорії. Тобто виведіть, 1якщо введенням є літера, 2якщо число, 3якщо символ і 4пробіл. Виведіть, 0якщо вхід не має жодного з цих ( контрольний символ ).
Для введення можна альтернативно взяти число від 0 до 127 включно, що представляє код вхідного символу ASCII.
Вхідні дані (як char код) та парами виводу, які повинен мати ваш код, мають бути наступними:
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
Входи 11, 12 і 13 відповідають символам, які іноді вважаються пробілами, тому їхні виходи можуть бути 0або 4за вашим бажанням.
Виграє найкоротший код у байтах.