>>количества четных отрицательных чисел от -15 до 40
Очевидно, что ежели чётных отрицательных, то имеет смысл лишь от -15 до 0.
var counter, sigma : integer; begin counter := -15 sigma := 0; while counter < 0 do if (counter mod 2) = 0 then sigma += 1; counter += 1; writeln(sigma); readln() end.
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
Очевидно, что ежели чётных отрицательных, то имеет смысл лишь от -15 до 0.
var counter, sigma : integer;
begin
counter := -15
sigma := 0;
while counter < 0 do
if (counter mod 2) = 0
then sigma += 1;
counter += 1;
writeln(sigma);
readln()
end.