алг нач цел a, sum, pro вывод 'Введите трёхзначное положительное число: ' ввод a если a<100 или a>999 то вывод 'Это не трёхзначное число. Перезапустите программу!' иначе sum := mod(a, 10) + mod(div(a,10),10) + div(a,100) pro := mod(a, 10) * mod(div(a,10),10) * div(a,100) если sum > 9 и sum < 100 то вывод 'Сумма цифр числа ',a,' - двухзначное число (',sum,')', нс иначе вывод 'Сумма цифр числа ',a,' - не двухзначное число (',sum,')', нс все если pro > 99 и pro < 1000 то вывод 'Произведение цифр числа ',a,' - трёхзначное число (',pro,')', нс иначе вывод 'Произведение цифр числа ',a,' - не трёхзначное число (',pro,')', нс все если mod(sum, 3) = 0 то вывод 'Эта же сумма (',sum,') кратна трём', нс иначе вывод 'Эта сумма (',sum,') не кратна трём', нс все все кон
5) Проверим предлагаемые варианты ответов. - Г = 1: Явно однозначности нет: 101 можно расшифровать как В или ГАГ. Итак, одним битом букву Г закодировать нельзя, попробуем двумя. - Г = 11: можно! Получится префиксный код (потому расшифровка будет однозначной). - Г = 01. Однозначности нет: 0101 расшифровывается как ГГ или АВ. Дальше проверять бессмысленно: 010 состоит из 3 битов. ответ. 2) 11.
7) Опять проверяем. - Г = 11. Нет однозначности: 11 может быть расшифровано как ББ или Г. - Г = 000: подходит, т.к. получается префиксный код. Остальные варианты не короче этого. ответ. 2) 000.
Для справки. Префиксным кодом называется такой кодировки, при котором код никакого символа не начинается кодом другого символа (т.е. если, например, код символа 'a' есть 01001, то все остальные коды символов не могут начинаться на 01001...). Еще бывают постфиксные коды (когда коды не могут оканчиваться кодами других символов). Префиксные и постфиксные коды можно расшифровать однозначно (однако бывают коды, не являющиеся постфиксными или префиксными, но при этом допускающие однозначную расшифровку)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку