Как в ЕГЭ · 19 из 42
№11. Пароль подлиннее
По мотивам задания №11, обратный вопрос. Под пароли всех пользователей отвели известное число байт. Символы берутся из алфавита заданной мощности, каждый кодируется одинаковым минимальным числом бит, и каждый пароль занимает одно и то же минимальное целое число байт. Какой наибольшей длины пароли можно выдавать, чтобы всё поместилось?
Что сделать
Найдите наибольшую длину пароля, при которой пароли всех пользователей поместятся в отведённый объём.
Что приходит
alfavit— мощность алфавита, от 2polzovateley— сколько пользователейvsego_bayt— сколько байт отведено на все пароли вместе
Что вернуть
Наибольшая длина пароля — целое число; если не помещается даже один символ — 0.
Допишите функцию naibolshaya_dlina в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
Алфавит из 26 символов, 20 пользователей, 140 байт. На пароль — 140 // 20 = 7 байт, это 56 бит, символ — 5 бит: 56 // 5 = 11 символов.
naibolshaya_dlina(26, 20, 140)
11
Все пароли занимают одинаковое целое число байт, поэтому на один пароль приходится не больше vsego_bayt // polzovateley байт (с округлением вниз). Длина пароля — сколько символов по i бит помещается в эти байты: биты, делённые на i нацело.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.