Тут все достаточно просто. Вычитать 4 из 2 смысла нет: получим -2 и что с ним дальше делать? Возведя -2 в квадрат, получим 4, но зачем 4 получать за две команды, когда можно сразу возвести исходную двойку в квадрат? А дальнейшее вычитание даст -6, квадрат -6 это 36, что никак не напоминает 64. Поэтому первая команда - это "возведи в квадрат" и мы получим 4.
Из 4 вычитать 4 смыла никакого: получим ноль и дальше что? В квадрат возводить его смысла нет, вычитать еще 4 - будет -4 - и зачем оно нам, когда у нас 4 и так есть? Так что остается опять только "возведи в квадрат". Получаем 16 и это была вторая команда.
Вот 16 в квадрат возводить уж точно смысла нет: зачем нам 256, когда идем к 64? Так что теперь - только "вычти 4". Получим 12.
С 12 такое же рассуждение, 144 - это много. Опять "вычти 4" и получили 8.
Отлично, последняя команда "возведи в квадрат" и мы получили 64!
В а) записано условие Фано. Будем использовать известный алгоритм Шеннона-Фано для построения кода. Не вижу смысла тут описывать этот алгоритм: он хорошо известен и может быть быстро найден в учебниках или в Интернет. Этапы построения кода даны во вложении. Длина сообщения равна 8+8+16+32 = 64 символа. Вероятности появления символов: Z(a) = 8/64 = 1/8; Z(б) = Z(a) = 1/8; Z(в) = 16/64 = 1/4; Z(г) = 32/64 = 1/2. В построенном коде символы выглядят так: Г - 0 В - 10 А - 110 Б - 111 Суммарная длина кодовых слов составляет 1+2+3+3 = 9 бит. Общая длина сообщения (для правки) равна 32×1+16×2+8×3+8×3 = 112 бит
Вычитать 4 из 2 смысла нет: получим -2 и что с ним дальше делать?
Возведя -2 в квадрат, получим 4, но зачем 4 получать за две команды, когда можно сразу возвести исходную двойку в квадрат? А дальнейшее вычитание даст -6, квадрат -6 это 36, что никак не напоминает 64.
Поэтому первая команда - это "возведи в квадрат" и мы получим 4.
Из 4 вычитать 4 смыла никакого: получим ноль и дальше что? В квадрат возводить его смысла нет, вычитать еще 4 - будет -4 - и зачем оно нам, когда у нас 4 и так есть? Так что остается опять только "возведи в квадрат". Получаем 16 и это была вторая команда.
Вот 16 в квадрат возводить уж точно смысла нет: зачем нам 256, когда идем к 64? Так что теперь - только "вычти 4". Получим 12.
С 12 такое же рассуждение, 144 - это много. Опять "вычти 4" и получили 8.
Отлично, последняя команда "возведи в квадрат" и мы получили 64!
ответ: 11221
Длина сообщения равна 8+8+16+32 = 64 символа.
Вероятности появления символов:
Z(a) = 8/64 = 1/8; Z(б) = Z(a) = 1/8; Z(в) = 16/64 = 1/4; Z(г) = 32/64 = 1/2.
В построенном коде символы выглядят так:
Г - 0
В - 10
А - 110
Б - 111
Суммарная длина кодовых слов составляет 1+2+3+3 = 9 бит.
Общая длина сообщения (для правки) равна 32×1+16×2+8×3+8×3 = 112 бит
ответ: 9 бит