Обратим внимание, что задания 2 и 3 предполагают одинаковый результат: в самом деле, если число оканчивается на 2, то оно четное, т.е. кратно двум, что приводит задание 3 к заданию 2.
Для задания 1 или заданий 2,3 оставляем в программе только нужную строку.в соответствии с комментарием.
<em>// PascalABC.NET 3.2, сборка 1374 от 10.01.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),1,99); a.Println;
Writeln('k=',a.Where(k->k.IsEven).Count); // для задания 1
Writeln('s=',a.Where(k->k mod 10=2).Sum) // для заданий 2/3
end.
<u>Пример</u>
n= 17
61 32 83 78 47 80 85 64 52 85 30 77 96 81 14 65 67
k=8
s=84
Const nx=30;mx=30;
var i,j,n,m:integer;A:array[1..nx,1..mx] of integer;B,D:array[1..nx] of integer;
begin
write('Введите n');Readln(n);
write('Введите m');Readln(m);
for i:=1 to n do begin
for j:=1 to m do вegin
A[i,j]:=random(100)-20;
write(A[i,j]:4);end;writeln;end;writeln;
for i:=1 to n do begin
for j:=1 to m do begin
if (A[i,j] mod 3 =0) then begin
B[i]:= B[i] + A[i,j];write(A[i,j]:4);D[i]:= D[i] + 1;end;end;writeln;end;
for i:=1 to n do begin
if (B[i]=0) and (D[i]= 0) then B[i]:= -10;
write(B[i]:4);end;<span>end.</span>
Sr=4,5..........................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
Ответ: 0
0 - минимальная длина кодового слова, т.к левая ветвь не занята