Все по той же формуле Хартли k=log2(N), из которой следует, что N=2^k
2)
Поскольку появление в сообщении определенного числа месяца, определенного месяца и определенного часа равновероятно из общего числа дней в месяце, общего числа месяцев, общего числа часов, то количество информации определяется по формуле: 2^I=N, где I – количество информации, N=31*12*24 – (количество дней в месяце)*(количество месяцев)*(количество часов в сутках). Отсюда: 2^I=31*12*24=8928, I=log2(31*12*24)≈13.12412131 бит.PS надеюсь догадаетесь что 2 у логарифма пишется внизу.
3)
Если 7 карандашей - то √7 = 2.64 бита. Если б было 8, то было бы 3 бита: используем формулу , где N – количество возможных событий, i – количество информации
N = int(input('Введите N: '))
A = int(input('Введите A: '))
B = int(input('Введите B: '))
C = int(input('Введите C: '))
floors_A = abs(N - A)
floors_B = abs(N - B)
floors_C = abs(N - C)
if floors_A != floors_B and floors_B != floors_C and floors_C != floors_A:
min_floors = floors_A
elevator = 'A'
if floors_B < min_floors:
min_floors = floors_B
elevator = 'B'
if floors_C < min_floors:
min_floors = floors_C
elevator = 'C'
elif floors_A == floors_B or floors_A == floors_C:
if floors_A == floors_B:
if floors_A <= floors_C:
elevator = 'A'
else:
elevator = 'C'
if floors_A == floors_C:
if floors_A <= floors_B:
elevator = 'A'
else:
elevator = 'B'
elif floors_B == floors_C:
if floors_B < floors_A:
if B > C:
elevator = 'B'
else:
elevator = 'C'
else:
elevator = 'A'
else:
elevator = 'A'