← К задачам
Легко · +1Измерение информацииЦиклы

Сколько бит на символ

В алфавите alphabet_size различных символов. По алфавитному подходу каждый символ кодируется одинаковым числом бит i, причём 2**i должно быть не меньше мощности алфавита.

Напишите функцию bits_per_symbol(alphabet_size), которая возвращает наименьшее целое i, при котором 2**i >= alphabet_size. Это и есть информационный вес одного символа в битах.

Для алфавита из одного символа i = 0. Решите задачу без math.log — подбором степени двойки.

Примеры:

bits_per_symbol(2)   -> 1
bits_per_symbol(32)  -> 5
bits_per_symbol(256) -> 8
bits_per_symbol(3)   -> 2   # 2**2 = 4 >= 3
py
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
Открыть курс →
def bits_per_symbol(alphabet_size):
    # верните минимальное i, при котором 2**i >= alphabet_size
    # ваш код
    pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.