Давайте подробно разберем задачу.
Задача:
Дано зашифрованное сообщение — последовательность нулей и единиц:
100001001110000010011001101001
Также известно, что использовались только буквы: M, A, G, I, C, и для каждой буквы есть свой код из таблицы:
| Буква |
Код в двоичной форме |
| М |
01001 |
| A |
00010 |
| G |
11011 |
| I |
10000 |
| C |
10011 |
Задача: определить, какие буквы в сообщении не используются.
Шаг 1: Распознаем длину кодов для каждой буквы
Все коды имеют длину 5 бит:
- М: 01001
- A: 00010
- G: 11011
- I: 10000
- C: 10011
Шаг 2: Разделим сообщение на блоки по 5 бит
Сообщение: 100001001110000010011001101001
Разделим его на группы по 5 бит:
10000
10011
10000
10011
00110
10011
01001
Определим каждую соответствующую букву или непрерывный блок, если он образован неправильно.
Проверим по кодам:
10000 — соответствует I (10000)
10011 — соответствует C (10011)
10000 — I
10011 — C
00110 — не совпадает ни с одним кодом
10011 — C
01001 — М
На данный момент есть 6 блоков по 5 бит, один из них не соответствует известным кодам (00110), что возможно является ошибкой или неполным шифром.
Шаг 3: Анализируем использованные буквы
Из расшифрованных блоков видно, что использовались:
- I (10000)
- C (10011)
- М (01001)
Буки в исходной таблице, которые не использовались в сообщении, это:
Итог:
Использованные буквы: М, I, C
Неиспользованные буквы: A, G
Ответ:
A, G