1. Найдём минимальное количество бит для кодирования одного символа:
Так как M=8200, то:
212=4096<8200⩽213=8192<8200⩽214=16384
Проверим внимательнее: 213=8192, а у нас M=8200, значит 8192<8200, поэтому:
iсимв=14 бит
(поскольку 213=8192 не хватает для кодирования 8200 символов, нужно 214=16384)
2. Пусть L — длина серийного номера (количество символов).
Тогда количество бит для одного номера:
iном=iсимв×L=14L бит
3. Количество байт для одного номера:
Так как байт — это 8 бит, то:
Vном=⌈814L⌉=⌈47L⌉ байт
4. Общий объём для K=835 номеров:
Vобщ=835×⌈47L⌉ байт
По условию Vобщ>156 Кбайт. Переведём в байты:
156 Кбайт=156×1024=159744 байт
Таким образом:
835×⌈47L⌉>159744
5. Найдём минимальное целое L, удовлетворяющее неравенству:
⌈47L⌉>835159744
Вычислим правую часть:
835159744≈191,31
Следовательно:
⌈47L⌉⩾192
6. Решаем неравенство:
47L>191⇒7L>764⇒L>109,14...
47L⩽192⇒7L⩽768⇒L⩽109,71...
Проверим целые значения L:
L10911047L4763=190,754770=192,5⌈47L⌉191193835×⌈47L⌉835×191=159485<159744835×193=161155>159744
При L=109:
835×191=159485<159744(не подходит, так как нужно > 156 Кбайт)
При L=110:
835×193=161155>159744(подходит)
7. Проверим L=109 с округлением вверх:
47×109=4763=190,75, округление вверх даёт 191 байт на номер.
8. Минимальная длина номера:
L=110