На предприятии каждой изготовленной детали присваивают серийный номер, символы из 266-символьного специального алфавита. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 123 серийных номеров отведено не более 52 Кбайт памяти. Определите максимально возможную длину серийного номера. В ответе запишите только целое число.
Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 266 символов, то есть 8 бит будет недостаточно, так как хватит только закодировать 256 символов, поэтому мы берём 9 бит для кодирования. Теперь посчитаем сколько бит занимает 1 серийный номер. Для этого переведём 52 кБайт в биты и поделим на 123:
Мы получили нецелое число бит необходимых для хранения одного серийного номера, округлим в меньшую сторону, так как если мы округлим в большую сторону, то получим, что объём памяти занимаемых 123 номерами будет превышать 52 кБайт памяти. Теперь поделим полученное количество бит на количество бит, необходимых для кодирования алфавита:
Округлим полученное значение в меньшую сторону, так как если округлим в большую сторону, то получим, что один серийный номер будет весить больше 3463 бит, что приведёт к тому, что объём памяти занимаемых 123 номерами будет превышать 52 кБайт памяти. Получим, что 384 символа содержит серийный номер.