На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры и символы из 17-символьного специального алфавита. В базе данных каждый серийный номер занимает одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 7 564 230 серийных номеров требуется более 31 Мбайт памяти. Определите минимально возможную длину серийного номера.
Ответ:
Резервный день 19.06.2025 ЕГЭ по информатике – задание №11
Решение:
|
1 2 3 4 5 |
f = (31*1024*1024)/(7564230) #4.297311953761321 - 5 байт s = 2**5 #10+17=27 один симбол = 5 бит print((5*8)/5) #макс=8 <strong>print((5*7)/8) #4.375 => 5 байт</strong> print((5*6)/8) #3.75 => 4 байт |
ИЛИ
|
1 2 3 4 5 6 7 8 |
from math import * for l in range(1, 100): alf = 10+17 bit = ceil(log2(alf)) byte = ceil(l*bit/8) if 7_564_230*byte>31*1024*1024: print(l) break |
Ответ: 7
