OpenFIPI 2.0

11

1

C358D6

На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры, 52 латинские буквы (с учётом регистра) и символы из 458-символьного специального алфавита. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 862 серийных номеров отведено не более 276 Кбайт памяти. Определите максимально возможную длину серийного номера. В ответе запишите только целое число.

261

from math import ceil, log

for L in range(1000, 0, -1): # длина
    N = 10 + 52 + 458  # мощность алфавита
    i = ceil(log(N, 2))  # вес одного символа
    I = ceil(L * i / 8)  # вес серийного номера
    I = I * 862 / 1024
    if I <= 276:
        print(L)
        break

Просмотреть отправленные ответы C358D6