Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 2783 символов. В базе данных каждый серийный номер занимает одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным целым числом бит.
Известно, что для хранения 3 845 627 серийных номеров требуется не менее 11 Гбайт памяти.
Определите минимально возможную мощность алфавита, используемого для записи серийных номеров.
В ответе запишите только целое число.
from math import ceil, log2
alphabet = 2783
nums = 3_845_627
memory_size = 11 * 2 ** 30
for power_alph in range(1, 1000):
bits = ceil(log2(power_alph))
bytes = ceil(alphabet * bits / 8)
if nums * bytes >= memory_size:
print(power_alph)
break
