Задача Задача №3450898
А
А
Окей, давай разберёмся вместе.
Что нужно посчитать
- id из 20 символов: первый и последний — из 18 букв, остальные 18 — цифры (0–9).
- Для букв нужно держать 18 вариантов, для цифр — 10 вариантов.
- Каждую строку кода запишем посимвольно, все буквы одинаковым количеством бит, все цифры одинаковым количеством бит. Затем для всей записи по идентификатору возьмём минимальное количество целых байт (одинаковое число байт на каждый идентификатор).
Как считать correctly
- Бит на букву: количество вариантов 18, значит n = ceil(log2 18) = 5 бит.
- Бит на цифру: вариантов 10, значит n = ceil(log2 10) = 4 бит.
- Всего бит на id: 2 буквы × 5 бит + 18 цифр × 4 бит = 10 + 72 = 82 бита.
- Переводим в байты: нужно целое число байт, минимальное, чтобы уложить 82 бита. ceil(82/8) = ceil(10.25) = 11 байт.
- Для 35 паролей: 35 × 11 байт = 385 байт.
Проверяем твою попытку
- Твой ответ: 455 байт.
- Правильный ответ: 385 байт.
- Разница в подходе: 82 бита ведёт к 11 байтам за один идентификатор, а не к 10 байтам (кругление до ближайшего целого числа байт невозможно на уровне каждого идентификатора, потому что 82 бита не помещаются в 10 байт — 80 бит). Затем 11 байт × 35 = 385 байт.
Итого: твой ответ неверен, правильный — 385 байт.
Если коротко: 82 бита на id → 11 байт на id → 385 байт на 35 паролей.
Понял/поняла идею? Что скажешь — лайк или дизлайк по моему разбору?