Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
Добавить в цикл счётчик
(в данном случае счётчик - b)
program raf105;
var
a,b: integer;
begin
readln(a);
while a < 100 do
begin
a:= a+2;
b:= b+1;
end;
writeln('Цикл сделал ',b,' шагов');
end.
Вариант 2Расписать все действия(Если нет возможности запустить программу)
program raf105;
var
a: integer;
begin
readln(a);
while a < 100 do
a:= a+2;
end.
Задача:
Определить количество шагов цикла
Условие:
Ввод: 91
Начало
91 < 100 Истина
1. a = 91 + 2 = 93
93 < 100 Истина
2. a = 93 + 2 = 95
95 < 100 Истина
3. a = 95 + 2 = 97
97 < 100 Истина
4. a = 97 + 2 = 99
99 < 100 Истина
5. a = 99 + 2 = 101
101 < 100 Ложь
Конец
5 шагов