Тема 11. Кодирование и декодирование – вычисление количества информации

11.01 Коды без дополнительной информации

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела кодирование и декодирование – вычисление количества информации
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 41#72485Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 100 символов и содержащий только десятичные цифры и символы из 1020-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в байтах), необходимый для хранения 1000 идентификаторов. В ответе запишите только целое число – количество байт.

Показать ответ и решение

Для начала определим сколько бит нужно выделить, чтобы закодировать все символы алфавита: 210 < 1030 < 211  . Для кодирования всего алфавита нам понадобится 11 бит.

Теперь определим сколько бит нужно выделить на один идентификатор: 11∗ 100 = 1100  (бит). Переведем данное значение в байты: 1100
-8--= 137,5  (байт). Если округлим в меньшую сторону, то нам не хватит памяти, чтобы закодировать весь идентификатор, значит, округляем в большую сторону.

Определим сколько байт нужно выделить на хранение 1000 идентификаторов: 138∗1000 = 138000  (байт). Ответ: 138000.

Ответ: 138000

Ошибка.
Попробуйте повторить позже

Задача 42#72497Максимум баллов за задание: 1

Личный номер участника конкурса состоит из 13 символов: семи цифр, за которыми следуют шесть букв. Допустимыми символами считаются 10 цифр и 10 заглавных букв: Б, Г, Ж, К, П, С, Ф, Ц, Ь, Я. Для хранения каждой из цифр используется одинаковое и наименьшее возможное количество бит. Аналогично, для хранения каждой из букв используется одинаковое и наименьшее возможное количество бит. При этом количество бит, используемых для хранения одной буквы и одной цифры могут быть разными. Для хранения каждого номера используется одинаковое и минимально возможное количество байт.

Сколько байт памяти потребуется для хранения 780 номеров для всех участников? Номера хранятся без разделителей.

Показать ответ и решение

Для начала определим сколько бит нужно выделить, чтобы закодировать все символы алфавита: 23 < 10 < 24  . Для кодирования всего алфавита нам понадобится 4 бит. Затем определим сколько бит нужно выделить, чтобы закодировать все цифры: 23 < 10 < 24  .Для кодирования всех цифр нам понадобится 4 бита.

Затем определим сколько бит нужно выделить для одного номера: 4 ∗13 = 52  (бит). Переведем данное значение в байты: 582= 6,5  (байт). Если округлим в меньшую сторону, то нам не хватит памяти, чтобы закодировать весь номер, значит, округляем в большую сторону.

Определим сколько байт нужно выделить для 780 номеров: 7 ∗780 = 5460  (байт). Ответ: 5460.

Ответ: 5460

Ошибка.
Попробуйте повторить позже

Задача 43#72502Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается пароль, состоящий из 48 символов и содержащий только десятичные цифры и символы из 400-символьного специального алфавита.

В базе данных для хранения каждого пароля отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование паролей, все символы кодируются одинаковым и минимально возможным количеством бит.

Определите объём памяти (в Кбайт), необходимый для хранения 57344 паролей. В ответе запишите только целое число – количество Кбайт.

Показать ответ и решение

Для начала определим сколько бит нужно выделить, чтобы закодировать все символы алфавита: 28 < 410 < 29  . Для кодирования всего алфавита нам понадобится 9 бит.

Теперь определим сколько бит нужно выделить на один идентификатор: 9∗ 48 = 432  (бит). Переведем данное значение в байты: 432
-8-= 54  (байт).

Определим сколько байт нужно выделить на хранение 57344 паролей и переведём данное значение в Кбайт: 54∗57344= 3024
  1024  (Кбайт). Ответ: 3024.

Ответ: 3024

Ошибка.
Попробуйте повторить позже

Задача 44#72503Максимум баллов за задание: 1

Личный номер участника конкурса состоит из 13 символов: семи цифр, за которыми следуют шесть букв. Допустимыми символами считаются 10 цифр и 10 заглавных букв: Б, Г, Ж, К, П, С, Ф, Ц, Ь, Я. Для хранения каждой из цифр используется одинаковое и наименьшее возможное количество бит. Аналогично, для хранения каждой из букв используется одинаковое и наименьшее возможное количество бит. При этом количество бит, используемых для хранения одной буквы и одной цифры могут быть разными. Для хранения каждого номера используется одинаковое и минимально возможное целое количество байт.

Сколько байт памяти потребуется для хранения 207 номеров для всех участников? Номера хранятся без разделителей.

Показать ответ и решение

Для начала определим сколько бит нужно выделить, чтобы закодировать все символы алфавита: 23 < 10 < 24  . Для кодирования всего алфавита нам понадобится 4 бит. Затем определим сколько бит нужно выделить, чтобы закодировать все цифры: 23 < 10 < 24  . Для кодирования всех цифр нам понадобится 4 бита.

Затем определим сколько бит нужно выделить для одного номера: 4 ∗13 = 52  (бит). Переведем данное значение в байты: 582= 6,5  (байт). Если округлим в меньшую сторону, то нам не хватит памяти, чтобы закодировать весь номер, значит, округляем в большую сторону.

Определим сколько байт нужно выделить для 207 номеров: 7 ∗207 = 1449  (байт). Ответ: 1449.

Ответ: 1449

Ошибка.
Попробуйте повторить позже

Задача 45#113811Максимум баллов за задание: 1

На предприятии каждой изготовленной детали присваивают серийный номер, содержащий десятичные цифры, и символы из 1015-символьного специального алфавита. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 776 серийных номеров отведено не более 312 Кбайт памяти. Определите максимально возможную длину серийного номера. В ответе запишите только целое число.

Показать ответ и решение

Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 1015 символов и 10 цифр, то есть 1025 символов. 10 бит недостаточно, так как их хватит закодировать только 1024 символа, поэтому мы берём 11 бит для кодирования. Теперь посчитаем сколько бит занимает 1 серийный номер в байтах, так как для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. Для этого переведём 312 кБайт в байты и поделим на 776:

312 ∗210
---776--= 411,71..

Мы получили нецелое число байт необходимых для хранения одного серийного номера, округлим в меньшую сторону, так как если мы округлим в большую сторону, то получим, что объём памяти занимаемых 776 номерами будет превышать 312 кБайт памяти. Теперь полученное количество байт переведем в биты и поделим на количество бит, необходимых для кодирования алфавита:

411-∗23
   11  = 298,(90)

Округлим полученное значение в меньшую сторону, так как если округлим в большую сторону, то получим, что один серийный номер будет весить больше 3293 бит, что приведёт к тому, что объём памяти занимаемых 776 номерами будет превышать 312 кБайт памяти. Получим, что 298 символа содержит серийный номер.

Ответ: 298

Ошибка.
Попробуйте повторить позже

Задача 46#113812Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 88 символов и содержащий только десятичные цифры и символы из 2047-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Мбайт), необходимый для хранения 53 756 идентификаторов. В ответе запишите только целое число – количество Мбайт.

Показать ответ и решение

Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 2047 символов и 10 цифр, то есть 2057 символов. 11 бит будет недостаточно, так как их хватит закодировать только 2048 символов, поэтому мы берём 12 бит для кодирования. Следующим шагом посчитаем количество бит, которое занимает один идентификатор, для этого перемножим количество символов в идентификаторе и количество бит необходимых для кодирования алфавита:

88 ∗12 = 1056

Такое количество бит занимает один идентификатор, переведём данное значение в байты:

1056 = 132
  8

Осталось определить сколько мБайт необходимо для хранения 53 756 идентификаторов. Для этого полученное количество байт помножим на необходимое количество идентификаторов и переведём в мБайты:

132-∗53756= 6,76..
    220

Мы получили нецелое количество мБайт, округлим вверх, так как если мы округлим в меньшую сторону, то в таком случае мы потеряем часть информации. Получим, что 7 мБайт необходимо для хранения 53 756 идентификаторов.

Ответ: 7

Ошибка.
Попробуйте повторить позже

Задача 47#113813Максимум баллов за задание: 1

На предприятии каждой изготовленной детали присваивают серийный номер, символы из 266-символьного специального алфавита. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 123 серийных номеров отведено не более 52 Кбайт памяти. Определите максимально возможную длину серийного номера. В ответе запишите только целое число.

Показать ответ и решение

Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 266 символов, то есть 8 бит будет недостаточно, так как хватит только закодировать 256 символов, поэтому мы берём 9 бит для кодирования. Теперь посчитаем сколько бит занимает 1 серийный номер. Для этого переведём 52 кБайт в биты и поделим на 123:

     13
52-∗2--= 3463,28..
  123

Мы получили нецелое число бит необходимых для хранения одного серийного номера, округлим в меньшую сторону, так как если мы округлим в большую сторону, то получим, что объём памяти занимаемых 123 номерами будет превышать 52 кБайт памяти. Теперь поделим полученное количество бит на количество бит, необходимых для кодирования алфавита:

3463 = 384,(7)
  9

Округлим полученное значение в меньшую сторону, так как если округлим в большую сторону, то получим, что один серийный номер будет весить больше 3463 бит, что приведёт к тому, что объём памяти занимаемых 123 номерами будет превышать 52 кБайт памяти. Получим, что 384 символа содержит серийный номер.

Ответ: 384

Ошибка.
Попробуйте повторить позже

Задача 48#113814Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 56 символов и содержащий только десятичные цифры и символы из 266-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите количество идентификаторов, которое можно уместить на карте памяти объемом в 5 мБайт. В ответе запишите только целое число – количество идентификаторов.

Показать ответ и решение

Для начала определим количество бит, необходимых для кодирования алфавита. В алфавите 266 символов, то есть 8 бит будет недостаточно, так как их хватит закодировать только 256 символов, поэтому мы берём 9 бит для кодирования. Следующим шагом посчитаем количество бит, которое занимает один идентификатор, для этого перемножим количество символов в идентификаторе и количество бит необходимых для кодирования алфавита:

56 ∗9 = 504

Такое количество бит занимает один идентификатор, переведём данное значение в байты:

504 = 63
 8

Осталось определить сколько идентификаторов можно поместить на карту памяти объёмом в 5 мБайт. Для этого 5 мБайт переведём в байты и поделим на количество байт занимаемых одним идентификатором:

    20
5-∗2--= 83220,31..
  63

Мы получили нецелое количество идентификаторов, переведём их в меньшую сторону, так как если мы округлим в большую сторону, то в таком случае объём занимаемый всеми идентификаторами будет превышать 5 мБайт. Получим, что 83 220 идентификаторов это максимальное количество, которое можно уместить на карте памяти объёмом 5 мБайт.

Ответ: 83220

Ошибка.
Попробуйте повторить позже

Задача 49#113818Максимум баллов за задание: 1

При трудоустройстве в Школково работникам присваивают идентификационный номер, который состоит из 6 символов. При этом используют посимвольное кодирование идентификационных номеров, все символы кодируют одинаковым и минимально возможным количеством бит. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. Для хранения данных о 107 сотрудниках выделяется 1177 байт памяти. Определите минимально возможную мощность алфавила, из которого составляют идентификационные номера. В ответе запишите только число.

Показать ответ и решение

Для начала определим сколько бит занимают данные об одном сотруднике. Для этого 1177 байт переведём в биты и поделим на количество сотрудников:

1177 ∗8
--107-- = 88

Получили, что 88 бит занимают данные об одном сотруднике. Теперь узнаем сколько бит занимает один символ в идентификационном номере. Для этого поделим количество бит на количество символов в идентификационном номере:

88 = 14,(6)
 6

Получили не целое число, округляем в меньшую сторону, так как иначе данные обо всех сотрудниках будут содержать больше 1177 байт, тогда 14 бит занимает один символ, выходит, что такое количество бит и используют для кодирования всего алфавита. Теперь определим минимальную мощьность алфавита.

Алфавит мощностью до 8192 символов можно закодировать 13 битами, так как 213 = 8192  . Значит минимальная мощьность алфавита, на которую потребуется 14 бит – 8193.

Ответ: 8193

Ошибка.
Попробуйте повторить позже

Задача 50#113820Максимум баллов за задание: 1

При трудоустройстве в Школково работникам присваивают идентификационный номер, который состоит из 16 символов.При этом используют посимвольное кодирование идентификационных номеров, все символы кодируют одинаковым и минимально возможным количеством бит. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. Для хранения данных о 1536 сотруднике выделяется не более 12 кБайт памяти. Определите максимальное количество бит, которое используют для кодирования символов, использующихся в идентификационном номере. В ответ укажите целое число - количество бит.

Показать ответ и решение

Для начала определим сколько бит занимают данные об одном сотруднике. Для этого 12 кБайт переведём в биты и поделим на количество сотрудников:

12 ∗213
--1536-= 64

Получили, что 64 бит занимают данные об одном сотруднике. Теперь узнаем сколько бит занимает один символ в идентификационном номере. Для этого поделим количество бит, занимаемых одним сотрудником, на количество символов в идентификационном номере:

64 = 4
16

Получили, что 4 бит занимает один символ, выходит, что такое количество бит и используют для кодирования всего алфавита.

Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 51#123672Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому пользователю присваивается уникальный идентификатор, состоящий из 10 символов. Первым и последним символом идентификатора является одна из десятичных цифр, оставшиеся символы могут быть одной из 26-ти строчных или заглавных латинских букв. Для кодирования каждого идентификатора отведено одинаковое минимально возможное целое число байтов. Сколько байтов потребуется для хранения 300 идентификаторов?

Показать ответ и решение

Так как в условии задачи не сказано, что идентификатор кодируется посимвольно, то, чтобы использовать минимальное возможное количество байт на каждый идентификатор, необходимо кодировать «поидентификаторно».

Для этого сначала посчитаем сколько всего может быть идентификаторов:

                                    2   8
10⋅52 ⋅52⋅52⋅52 ⋅52 ⋅52⋅52⋅52 ⋅10 = 10 ⋅52

Рассчитаем это значение с помощью Python:

x = 10**2 * 52**8
print(x) # 5345972853145600

Чтобы выяснить, сколько бит нужно чтобы закодировать такое количество идентификаторов необходимо взять логарифм по основанию 2, сделаем это так же с помощью Python:

from math import *
x = 10**2 * 52**8
res = log(x, 2)
print(res) # 52.247373934903464

Получается, что для кодирования одного идентификатора необходимо 53 бита (52 взять нельзя, так как не хватит), переводим в байты и округляем до целого числа в большую сторону:

53= 7 байт
8

Значит, для хранения 300 идентификаторов потребуется 300 ⋅7 = 2100 байт

Ответ: 2100

Ошибка.
Попробуйте повторить позже

Задача 52#123673Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому пользователю присваивается уникальный идентификатор, состоящий из 14 символов. Первым, вторым и третьим символом идентификатора являются одна из десятичных цифр или одна из 26-ти аглавных латинских букв, четвертым символом является нижнее подчеркивание «_», оставшиеся символы могут быть одной из 26-ти строчных латинских букв. Для кодирования каждого идентификатора отведено одинаковое минимально возможное целое число байтов. Сколько байтов потребуется для хранения 150 идентификаторов?

Показать ответ и решение

Так как в условии задачи не сказано, что идентификатор кодируется посимвольно, то, чтобы использовать минимальное возможное количество байт на каждый идентификатор, необходимо кодировать «поидентификаторно».

Для этого сначала посчитаем сколько всего может быть идентификаторов:

                                                3   10
36⋅36⋅36 ⋅1⋅26⋅26⋅26 ⋅26⋅26⋅26 ⋅26 ⋅26⋅26⋅26 = 36 ⋅26

Рассчитаем это значение с помощью Python:

x = 36**3 * 26**10
print(x) # 6586292014803910656

Чтобы выяснить, сколько бит нужно чтобы закодировать такое количество идентификаторов необходимо взять логарифм по основанию 2, сделаем это так же с помощью Python:

from math import *
x = 36**3 * 26**10
res = log(x, 2)
print(res) # 62.514172185737856

Получается, что для кодирования одного идентификатора необходимо 63 бита (62 взять нельзя, так как не хватит), переводим в байты и округляем до целого числа в большую сторону:

63= 8 байт
8

Значит, для хранения 150 идентификаторов потребуется 150 ⋅8 = 1200 байт

Ответ: 1200

Ошибка.
Попробуйте повторить позже

Задача 53#136561Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 60 символов и содержащий только десятичные цифры и символы из 250-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 65 536 идентификаторов.

В ответе запишите только целое число – количество Кбайт.

Показать ответ и решение

Всего в идентификаторе используется 10 + 250 = 260 символов.

Так как с помощью N бит можно закодировать 2N  символов, то для записи каждого из 320 символов необходимо 9 бит (Так как 29  = 512 > 260 ).

Для хранения всех 60 символов пароля нужно 9× 60 = 540  бит = 67.5 байт ∼ 68  байт.

Таким образом, для хранения 65 536 идентификаторов необходимо 65531062∗468-  = 4352 Кбайт.

Ответ: 4352

Ошибка.
Попробуйте повторить позже

Задача 54#137642Максимум баллов за задание: 1

При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 317 символов и содержащий только десятичные цифры и символы из 4090-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Мбайт), необходимый для хранения 262 144 идентификаторов. В ответе запишите только целое число – количество Мбайт.

Источники: Досрок 2024

Показать ответ и решение

Заметим, что k бит позволяют кодировать  k
2  символов.

Для идентификатора, использующего десятичные цифры и 4090-символьный алфавит, требуется 13 бит (       13
8192 = 2  ).

Для хранения 317 символов по 13 бит требуется 317⋅13 = 4121  бит.

Переведем 4121 бит в Мбайты и домножим на 262144 (число идентификаторов). Получаем 4121⋅262144-
1024⋅1024⋅8 = 129  Мб

Ответ: 129

Ошибка.
Попробуйте повторить позже

Задача 55#138569Максимум баллов за задание: 1

Каждое изделие, изготовленное на предприятии, получает уникальный код, состоящий из 22 символов. Каждый символ кода может быть латинской буквой (только строчной), десятичной цифрой или специальным символом из дополнительного набора. Используется посимвольное кодирование, каждый символ кодируется одинаковым минимально возможным числом бит, а для хранения каждого кода в целом отводится одинаковое минимально возможное число байт. Известно, что для хранения списка из 4000 кодов выделено не более 100 Кбайт. Какое наибольшее количество специальных символов может входить в дополнительный набор символов?

Показать ответ и решение

Посчитаем объем одного кода. Для этого разделим 100  Кбайт = 819200  Бит на 4000  (кол-во кодов).

Получим 819200= 204,8
 4000  бит на код. Теперь найдем, сколько памяти требуется на один символ.

204,8
----- = 9
  22  бит (после округления в меньшую сторону, больше выделенной памяти мы взять не сможем, а меньше - запросто).

Посчитаем мощность алфавита, она равна  9
2 = 512  . Вычтем 10  цифр и 26  букв.

512− 10 − 26 = 476  . Это и будут наши спец. символы.

Ответ: 476

Ошибка.
Попробуйте повторить позже

Задача 56#139221Максимум баллов за задание: 1

Серийный номер детали состоит из 40 символов. Для записи серийного номера используются латинские буквы (строчные и прописные), десятичные цифры и символы из дополнительного набора. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 1000 серийных номеров отведено не более 60 Кбайт памяти. Определите максимально возможное число символов в специальном алфавите. В ответе запишите только целое число.

Показать ответ и решение

Для начала поймём, сколько бит отведено на каждый серийный номер. 60  Кбайт = 491520  бит (умножили на 1024 и на 8).

Теперь остаётся разделить полученное число на 1000, чтобы узнать сколько бит отведено на номер. Разделим сразу же на 40, таким образом мы узнаем сколько бит нужно для кодирования одного символа, ведь символов в одном номере ровно 40.

 491520
---------= 12
40 ⋅ 1000  Бит (округлили в меньшую сторону, чтобы точно хватило места).

Получается, что допустимый алфавит для одного символа  1
2 2 = 4096  букв, цифр и спец. символов в сумме.

4096 − 26 ⋅ 2 − 10 = 4034  спец. символа, поскольку букв 26 (заглавные учтём умножением на 2), а цифр 10.

Ответ: 4034

Ошибка.
Попробуйте повторить позже

Задача 57#139225Максимум баллов за задание: 1

На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 246 символов. В базе данных для хранения каждого серийного номера отведено одинаковое и минимально возможное число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 703 569 серийных номеров доступно не более 77 Мбайт памяти. Определите максимально возможную мощность алфавита, используемого для записи серийных номеров. В ответе запишите только целое число.

Источники: Досрок 2025

Показать ответ и решение

Посчитаем, сколько байт нужно на один номер. 77  Мбайт = 80740352  байт (умножили на 1024     2  раза для перевода в Кбайт и байт).

80740352-
 703569   = 114  Байт на один номер (703569  номеров всего). Округляем в меньшую сторону, чтобы не превысить допустимый объём информации. 114  Байт = 912  Бит (умножили на 8  ).

Далее 912-= 3
246  Бит (округляем в меньшую сторону, чтобы не превысить допустимый объём информации) доступно для кодирования одного символа из нашего номера.

Заметим, что 3  бит позволяют кодировать 23 = 8  символов, что и будет мощностью алфавита.

Ответ: 8

Ошибка.
Попробуйте повторить позже

Задача 58#141034Максимум баллов за задание: 1

На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 71 118 символов. Для его хранения отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 12 288 серийных номеров отведено не более 2 Гбайт памяти. Определите максимально возможную мощность алфавита, из которого составляются серийные номера. В ответе запишите только число.

Показать ответ и решение

2  Гбайт = 2⋅1024 ⋅1024 ⋅1024  байт = 2147483648  байт было отведено на все номера.

На один номер выделено 2147483648-= 174762
  12288  байт (поделили общее количество байт на количество номеров). Округлили в меньшую сторону, чтобы не занять слишком много места.

174762  байт = 1398096  бит на один номер.

Каждый символ был закодирован определённым числом бит, в результате получилось 1398096  бит, составим уравнение. 71118× x = 1398096  , откуда x = 19  бит. Вновь округлили в меньшую сторону.

с помощью 19  бит можно закодировать  19
2  = 524288  символов.

Ответ: 524288

Ошибка.
Попробуйте повторить позже

Задача 59#141038Максимум баллов за задание: 1

На предприятии каждой изготовленной детали присваивают серийный номер, состоящий из 54 693 символов. Для его хранения отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование серийных номеров, все символы кодируются одинаковым и минимально возможным числом бит. Известно, что для хранения 24 576 серийных номеров отведено не более 4 Гбайт памяти. Определите максимально возможную мощность алфавита, из которого составляются серийные номера. В ответе запишите только число.

Показать ответ и решение

2  Гбайт = 4⋅1024 ⋅1024 ⋅1024  байт = 4294967296  байт было отведено на все номера.

На один номер выделено 4294967296-= 174762
  24576  байт (поделили общее количество байт на количество номеров). Округлили в меньшую сторону, чтобы не занять слишком много места.

174762  байт = 1398096  бит на один номер.

Каждый символ был закодирован определённым числом бит, в результате получилось 1398096  бит, составим уравнение. 54693× x = 1398096  , откуда x = 25  бит. Вновь округлили в меньшую сторону.

с помощью 25  бит можно закодировать  25
2  = 33554432  символа.

Ответ: 33554432
Рулетка
Вы можете получить скидку в рулетке!