← К задачам
Сколько бит на символ
В алфавите 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
Для запуска тестов необходима авторизация.