// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,0,199); a.Println(4); Writeln(4*a.ColCount*'-'); Write('Искомые числа: '); var s:=a.Rows.SelectMany(x->x).Where(x->x.Between(10,99)) .Where(x->(x div 10+x mod 10).IsEven); s.Println; Writeln('Количество чисел равно ',s.Count) end.
var mas: array[1..n,1..m] of integer; i,j: integer; qty: integer; a,b: integer;
begin
randomize;
{Заполнение массива числами} for i:=1 to n do begin for j:=1 to m do begin mas[i,j]:=random(200); if mas[i,j]=200 then mas[i,j]:=199; write(mas[i,j],' '); end; writeln; end;
writeln('******************');
{Поиск двузначных чисел, сумма цифр которых кратна 2} qty:=0; for i:=1 to n do for j:=1 to m do if (mas[i,j]<100) and (mas[i,j]>9) then begin a:=mas[i,j] div 10; b:=mas[i,j]-a*10; if (a+b) mod 2=0 then begin Inc(qty); write(mas[i,j],' '); end; end;
writeln(''); writeln('количество чисел удовлетворяющих условию ',qty);
Відповідь:
3
Пояснення:
Спочатку ми знаходимо цілочисленне ділення на 10:
132 // 10 = 13
а потім остаток від ділення на 10,
13 % 10 = 3