Шешімі: Мощность алфавита нөмір
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 199 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 215 783 серийных номеров отведено не более 47 Мбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров.
Шешім по шагам
4 қадамПереведём общий объём памяти в байты и найдём максимально возможное число байт на один серийный номер:
$$\left\lfloor\dfrac{47 \cdot 2^{20}}{215783}\right\rfloor = 228$$Пусть один символ кодируется $k$ битами. Для нөмір из 199 символов требуется:
$$b = \left\lceil\dfrac{199k}{8}\right\rceil$$Из условия $b \leq 228$, поэтому $199k \leq 228 \cdot 8 = 1824$, откуда $k \leq 9$. При $k=9$ размер номера равен $\left\lceil\dfrac{199 \cdot 9}{8}\right\rceil = 224$ байта, а при $k=10$ — 249 байт, что недопустимо.
Максимальная мощность алфавита при 9 битах на символ:
$$2^9 = 512$$Где здесь ошибаются
Забывают округлить размер бір нөмір вверх до целого числа байт.
Используют 47 Мбайт как 47 000 000 байт вместо $47 \cdot 2^{20}$ байт.
Принимают число бит на символ за мощность алфавита.