Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
print('--- 1 ---')
b = float(input('Введите b: '))
a = b**3/9-6.4*(b+8)+3*b/4
print('a =', a)
print()
print('--- 2 ---')
a = float(input('Введите a: '))
b = float(input('Введите b: '))
d = a**3*b/7-2*a*b**2*(a+b)
print('d =', d)
print()
print('--- 3 ---')
a = float(input('Введите a: '))
b = float(input('Введите b: '))
q = (3*a**3-2*a*b+b**2)/(2*a*(3*a-b))
print('q =', q)
print()
print('--- 4 ---')
x = float(input('Введите x: '))
y = float(input('Введите y: '))
k = x**3-4*x*y*(x+y**2)
print('k =', k)
print()
print('--- 5 ---')
v = float(input('Введите v: '))
h = abs(v+1.7)*(2*v+3)
print('h =', h)
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9