← К задачам
Легко · +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
def bits_per_symbol(alphabet_size):
    # верните минимальное i, при котором 2**i >= alphabet_size
    # ваш код
    pass
Для запуска тестов необходима авторизация.
Поддержать проект