Алгоритм решения задания 15. Часть 5
Учимся решать 15 задания пятого типа
Читать
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 257 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 295 740 серийных номеров отведено не более 33 Мбайт памяти.
Определите максимально возможную мощность алфавита, используемого для записи серийных номеров.
В ответе запишите только целое число.
import math
# кол-во серийных номеров
len_nums = 295_740
# мебибайты в байты (1Мбайт = 1024 Кбайт = 1024 * 1024 байт)
memory_usage = 33 * 2 ** 10 * 2 ** 10
len_sn = 257
for N in range(1000)[::-1]:
i = math.ceil(math.log2(N))
L = math.ceil(len_sn * i / 8)
if len_nums * L <= memory_usage:
print(N)
break
