Алгоритм решения задания 15. Часть 5
Учимся решать 15 задания пятого типа
Читать
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 119 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, 125 300 серийных номеров занимают более 23 Мбайт памяти.
Определите минимально возможную мощность алфавита, используемого для записи серийных номеров.
В ответе запишите только целое число.
from math import ceil, log2
symbols = 119
serial_nums = 125_300
memory_usage = 23*2**20
for code in range(1, 10_000):
bits = ceil(log2(code))
bytes = ceil(symbols*bits/8)
if serial_nums*bytes > memory_usage:
print(code)
break
