Маша печет пирожки для бабушки с дедушкой. На одном подносе лежат А пирожков с грибами, на другом В пирожков с картошкой. Маша сначала печет два пирожка с грибами, затем печет
1 пирожок с картошкой. Затем снова 2 пирожка с грибами и 1 пирожок с картошкой. Это продол-
жается до тех пор, пока либо не закончатся пирожки на одном из подносов, либо не останется один
пирожок с грибами. В последнем случае Маша продолжает печь пирожки с картошкой, пока те не
закончатся.
После этого Маша останавливается и зовет Медведя, чтобы тот отнес готовые пирожки бабушке
и дедушке. Сколько всего пирожков Маша отправит дедушке и бабушке?
// Внимание! Если программа не работает, обновите версию!
function KS(a:array[,] of integer):(integer,integer);
begin
(var k,var s):=(0,0);
for var i:=0 to a.RowCount-1 do
for var j:=i to a.ColCount-1 do
if a[i,j]<0 then (k,s):=(k+1,s+a[i,j]);
Result:=(k,s)
end;
begin
var a:=MatrRandom(5,5,-50,50); a.Println(4);
var r:=KS(a); Writeln('k=',r[0],', Sum=',r[1]);
var b:=MatrRandom(8,8,-80,45); b.Println(4);
r:=KS(b); Writeln('k=',r[0],', Sum=',r[1]);
end.
Пример
-9 -41 -6 -49 36
6 -7 -2 -1 28
22 -29 -20 -12 7
-11 -37 14 34 -41
-23 11 -9 -26 -46
k=11, Sum=-234
9 34 -68 -32 -43 -61 -19 -55
-66 3 -79 41 -47 27 -7 31
-71 -7 -26 28 -58 -2 -61 -77
-66 39 -39 -76 -13 2 21 6
-56 42 -61 1 -39 -69 -57 -2
-51 -79 -57 10 -10 -27 29 19
-48 -55 -56 -76 43 -32 29 -70
15 -71 -46 -37 23 -24 3 -22
k=23, Sum=-1010
Тогда, если считать, что появление символов в сообщении равновероятно, количество возможных событий N можно вычислить как N=2i
Количество информации в сообщении I можно подсчитать умножив количество символов K на информационный вес одного символа i
Итак, мы имеем формулы, необходимые для определения количества информации в алфавитном подходе: