Автор: Основная волна 10.06.25
Уровень: Базовый Условие задачи: На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 172 символов. В базе данных каждый серийный номер занимает одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 356 984 серийных номеров потребовалось не менее 54 Мбайт памяти.
Определите минимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число. Код решения: Ответ: 129 Комментарии к коду: from math import *
Импортируем все функции из модуля math, включая log2 и ceil for alf in range(1, 10000):
Перебираем значения alf от 1 до 9999 (ищем минимальное подходящее значение) bit = ceil(log2(alf))
Вычисляем минимальное количество бит, необходимое для кодирования одного символа алфавита размером alf byte = ceil(172 * bit / 8)
Вычисляем