Найти в Дзене

11 номер

Для решения задачи нам понадобится две формулы: 1) Кодирование информации Здесь:
N - количество букв в алфавите i - бит, выделяемый на один символ 2) Подсчёт информационного размера слова M - информационный размер слова (то есть в битах, байтах и тд...) k - количество букв в слове i - бит на 1 символ Если сложно визуализировать это в голове, просто замените слово биты на слово рубли. Запомним еще две формулы: Если нужно найти максимальную мощность алфавита (количество букв в алфавите) Если нужно найти минимальную мощность алфавита (количество букв в алфавите) Пример: Самое главное, отличить количество букв алфавита от количества букв в слове. Если видим формулировки "слово состоит из скольких-то букв", "слово длиной сколько-то букв" - это про количество букв в слове. А когда видим "можно использовать", "могут встретиться" - это про алфавит. Распишем алфавит: Посчитаем i (в случае чего округляем в большую сторону) Количество букв в слове: Считаем M: Читаем условия задачи дальше: Кажды

Для решения задачи нам понадобится две формулы:

1) Кодирование информации

Здесь:
N - количество букв в алфавите

i - бит, выделяемый на один символ

2) Подсчёт информационного размера слова

-2

M - информационный размер слова (то есть в битах, байтах и тд...)

k - количество букв в слове

i - бит на 1 символ

Если сложно визуализировать это в голове, просто замените слово биты на слово рубли.

Запомним еще две формулы:

Если нужно найти максимальную мощность алфавита (количество букв в алфавите)

-3

Если нужно найти минимальную мощность алфавита (количество букв в алфавите)

-4

Пример:

-5

Самое главное, отличить количество букв алфавита от количества букв в слове. Если видим формулировки "слово состоит из скольких-то букв", "слово длиной сколько-то букв" - это про количество букв в слове. А когда видим "можно использовать", "могут встретиться" - это про алфавит.

Распишем алфавит:

в алфавите складываем 10 десятичных цифр, 11 строчных, 11 прописных
в алфавите складываем 10 десятичных цифр, 11 строчных, 11 прописных

Посчитаем i (в случае чего округляем в большую сторону)

-7

Количество букв в слове:

-8

Считаем M:

-9

Читаем условия задачи дальше:

Каждый символ кодируется одинаковым и минимально возможным количеством бит

Это про первую формулу, ее мы уже применили, все нормально

каждый пароль – одинаковым и минимально возможным целым количеством байт

А вот это уже важно, мы нашли размер пароля, но он в битах. Нам же нужно, что бы он был в байтах, причем число должно быть целым.

-10

Округляем только в большую сторону, ведь в формуле M = k * i зависимость прямопорциональная. k и i нам четко даны, их уменьшать нельзя, а значит и M уменьшить не получится.

Осталось только посчитать, сколько занимают 30 паролей

-11
-12

Рассмотрим обратную задачу:

-13

Рассмотрим два способа: Эксель и Питон

Распишем имеющиеся данные

-14

Так как тут тоже есть условие, про то что серийный номер в байтах, то размер всех переводим тоже в байты. Найдем размер одного серийного номера:

-15

Округляем в большую сторону, потому что тут написано более 77 Мбайт. Получаем 115 байт на один серийный номер. Переведем его в биты и найдем i

-16

Получилось 3 с хвостиком

-17

Казалось бы, надо округлить в большую сторону, но из-за того, что мы округляем серийный номер в большую сторону, возможно и маленькое значение получится округлить до большего

Делаем проверку (считаем серийный номер и переводим в байты)

-18

Итог: 92,25 до 115 никак не округлить, значит точно берем 4

-19

Нужно посчитать МИНИМАЛЬНЫЙ размер алфавита

-20

Ответ: 9

2) Решение в Питоне

-21

Пример 3

-22

В отличие от предыдущих заданий, тут не одно поле, а целых 3

Распишем все подробно каждое поле.

-23

С личным кодом все понятно. По условию задачи он в байтах, поэтому результат переводим в байты (9 байт). Номер подразделения это число от 1 до 1000. В этом диапазоне 1000 чисел, это и есть алфавит. Находим i, на этом все, потому что номер только один (то есть как бы k = 1). Переводим в байты, получается 2 байта. Ну и дополнительные сведения 60 байт. Все складываем, получаем 71.