Форум » Вычисление количества информации » Задача типа 13 (№263) » Ответить

Задача типа 13 (№263)

Pinasol: (№ 263) В школьной базе данных хранятся записи, содержащие информацию об учениках: <Фамилия> – 16 символов: русские буквы (первая прописная, остальные строчные), <Имя> – 12 символов: русские буквы (первая прописная, остальные строчные), <Отчество> – 16 символов: русские буквы (первая прописная, остальные строчные), <Год рождения> – числа от 1992 до 2003. Каждое поле записывается с использованием минимально возможного количества бит. Определите минимальное количество байт, необходимое для кодирования одной записи, если буквы е и ё считаются совпадающими. У нас используется 32 буквы нижнего регистра и 32 буквы верхнего. Значит, i=6. i для чисел =4. (44*6+4)/8 = 33,5. Округлим и получим 34 байта. В ответе же написано, что 28. 28*8=224. Минус 4 бита на число - получаем 220 бит. 220/44=5. При таком ответе у нас алфавит имеет всего 32 буквы, то есть либо нижний регистр, либо верхний, ведь для ASCII "а"!="А". Ошибка в ответе, или я где-то фатально ошибаюсь?

Ответов - 1

Поляков: Pinasol пишет: При таком ответе у нас алфавит имеет всего 32 буквы Эта довольно нестандартная задача на сообразительность. Она была в каком-то из тренировочных вариантов, но, я надеюсь, что на реальном ЕГЭ таких не будет. Дело в том, что если мы точно знаем, что первая буква заглавная, а остальные строчные, то можем не использовать заглавные буквы при хранении в базе данных, а делать первую букву заглавной уже при выводе на экран (или печать). Поэтому кодируем все строчными, хватает 32 букв.



полная версия страницы