При регистрации на авиарейс данные о пассажире кодируются так:
первое поле — имя и фамилия латинскими буквами в верхнем регистре без разделителей, 30 символов
второе поле — пол, символ 0 (м) или 1 (ж)
третье поле — дата рождения, десятичные цифры без разделителей, 8 символов
При этом все символы (всех полей сразу) кодируют одинаковым и минимально возможным количеством бит. Каждое поле кодируется минимальным целым количеством байт.
На самолете «Боинг» может поместиться 568 пассажиров. Сколько Кбайт потребуется, чтобы сохранить данные обо всех пассажирах?
В ответе запишите только целое число — нужное количество Кбайт.
Решение:
Решение на Python:
from math import *
for x in range (1, 1000): #Перебираем количество кБайт
alph = 26 + 10 #Длина алфавита(нам даны только латинские буквы и 10-ричные цифры)
dlina1 = 30 #длина 1 поля
dlina2 = 1 #длина 2 поля
dlina3 = 8 #длина 3 поля
к = 568 #количество пассажиров
bit = ceil(log2(alph)) #Находим кол-во бит для кодирования одного символа
# составляем уравнение
V = ceil((ceil(dlina1*bit/8) + ceil(dlina2*bit/8) + ceil(dlina3*bit/8)) * 568 / 1024)
print(V)
Ответ: 17
Ответ:
17