Вводится последовательность натуральных чисел, не превосхо-дящих 20000. Ноль – признак конца. Требуется вывести максимальное из произведений двух элементов последовательности, которое делится на 26.
var a: array[1..MAX_N] of integer; n, i, j, p, maxp: integer;
begin i := 1; read(a[i]); while a[i] <> 0 do begin inc(i); read(a[i]); end; n := i - 1; maxp := 0; for i := 1 to n do for j := 1 to n do begin p := a[i] * a[j]; if (p mod 26 = 0) and (p > maxp) then maxp := p; end; if maxp = 0 then writeln('Not found') else writeln(maxp); end.
Answers & Comments
const
MAX_N = 20001;
var
a: array[1..MAX_N] of integer;
n, i, j, p, maxp: integer;
begin
i := 1;
read(a[i]);
while a[i] <> 0 do
begin
inc(i);
read(a[i]);
end;
n := i - 1;
maxp := 0;
for i := 1 to n do
for j := 1 to n do
begin
p := a[i] * a[j];
if (p mod 26 = 0) and (p > maxp) then
maxp := p;
end;
if maxp = 0 then writeln('Not found')
else writeln(maxp);
end.