function sum(i, n: <em>integer</em>): <em>boolean</em>;
var
a, b: <em>integer</em>;
begin
a := i;
repeat
b := b + a mod 10;
a := a div 10;
until (a = 0);
sum := (b = n);
end;
var
n, i, k: <em>integer</em>;
begin
readln(n, k);
for i := 1 to k do
if sum(i, n) then
writeln(i);
end.
Program znanija_com;
const
n = 5;
m = 5;
rnd = 9;
type
tArray = array[1..n, 1..m] of integer;
var
arr : tArray;
i,j, sum_ch, sum_nch, sum_diag, max_num, max_index_1, max_index_2 : integer;
begin
randomize;
writeln ('Исходная матрица:');
for i:=1 to n do begin
for j:=1 to m do begin
arr[i,j] := random(rnd);
if arr[i,j] mod 2 = 0 then sum_ch := sum_ch + 1
else sum_nch := sum_nch + 1;
write(arr[i, j], ' ');
end;
writeln();
end;
for i:=1 to n do
sum_diag := sum_diag + arr[i,i];
max_num := arr[1,1];
max_index_1 := 1;
max_index_2 := 1;
for i:=1 to n do begin
for j:=1 to m do begin
if arr[i, j] > max_num then begin
max_num := arr[i, j];
max_index_1 := i;
max_index_2 := j;
end;
end;
end;
writeln('Колечество четных элементов равно ', sum_ch);
writeln('Колечество нечетных элементов равно ', sum_nch);
writeln('Сумма главной диаганили равна ', sum_diag);
writeln('Максимальное число равно ', max_num, ' Находится [',max_index_1, ', ', max_index_2, ']');
readln();
end.
===== PascalABC.NET =====
begin
var n := ReadInteger('Сколько чисел сгенерировать?');
var St := new Stack<integer>(SeqRandom(n, -99, 99));
St.Println;
Println('Max =', St.Max, ' min =', St.Min);
// следующие строки не нужны, это просто проверка,
// что стек после обработки не сломался.
Writeln;
St.Pop.Println;
St.Println;
end.