OpenFIPI 2.0

11

1

586133

На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры и символы из 62-символьного специального алфавита. В базе данных каждый серийный номер занимает одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что 5 895 222 серийных номера занимают более 23 Мбайт памяти. Определите минимально возможную длину серийного номера.

5

from math import ceil, log

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

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