uses crt;
const nmax=20;{в больших массивах произведение вылезет за тип longint}
type mas=array[1..nmax] of integer;
function Elem(m:mas;n:byte;k:integer):boolean;
var i:byte;
f:boolean;
begin
f:=false;
i:=1;
while (i<=n)and not f do
if(m[i]>0)and(m[i] mod k=2) then f:=true
else i:=i+1;
Elem:=f;
end;
var b:mas;
n,i,j,k:byte;
a:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив:');
for i:=1 to n do
begin
repeat
b[i]:=random(31)-15;
until b[i]<>0;{нули убрал, а то часто произведение будет ноль}
write(b[i]:4);
end;
writeln;
write('Введите число для поиска кратных k=');
readln(k);
if Elem(b,n,k) then write('В массиве есть числа, делящиеся на ',k,' с остатком 2')
else write('В массиве нет чисел, делящиеся на ',k,' с остатком 2');
readln
end.