3681
Просветленный
(20338)
3 месяца назад
Корэкт. В общем случае для кодирования диапазона чисел от 0 до n требуется ⌈log₂(n+1)⌉ бит. Однако, если кодируешь числа в диапазоне от 20000 до 20001, то не нужно использовать log₂20001 бит. Вместо этого можно использовать 1 бит. Почему? Потому что есть только два возможных значения: 20000 и 20001.
Можно закодировать их, например, так:
0 - 20000
1 - 20001
В общем случае, для кодирования диапазона чисел от a до b (где a и b включительно), потребуется ⌈log₂(b - a + 1)⌉ бит.