На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры и символы из 27-символьного специального алфавита. В базе данных каждый серийный номер занимает одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 3548 серийных номеров необходимо более 12 Кбайт памяти. Определите минимально возможную длину серийного номера.
Решение:
Решение на Python:
from math import *
for x in range(1, 1000): #Перебираем варианты длины
alf = 10 + 27 # символы алфавита
bit = ceil(log2(alf)) # кодирование алфавита
V = ceil(x * bit / 8) # объем одной детали
if 3548 * V > 12 * 1024:
print(x)
break
Ответ: 5
Ответ:
5