Программа:
program dividers;
var x, i, p: integer;
y: array of integer;
function dividersOf(n: integer; includeNegative: boolean := false):array of integer;
var a: array of integer;
i, k: integer;
begin
k:= 1;
if(n<0) then n:= n*(-1);
for i:= 1 to n
do if(n mod i = 0)
then begin
SetLength(a, k);
a[a.Length-1]:= i;
k:= k+1;
end;
if(includeNegative)
then a:= a.Select(x -> x*(-1)).Sorted.ToArray+a;
dividersOf:= a;
end;
begin
readln(x);
y:= dividersOf(x, true);
p:= y.Length-2;
i:= 0;
writeln('Делители числа ', x, ':');
repeat
write(y[i], ', ');
i:= i+1;
until i=p;
write(y[p+1], '.');
end.
Программа, которая в последовательности натуральных чисел определяет максимальное четное двузначное число. Последовательности нет, поэтому создаём её в виде массива.
var
a: array [1..20] of integer; // Создаём массив из 20 элементов
max: integer; // и переменную для хранения максимального значения
begin
for var i := 1 to 20 do
begin
a[i] := random(0, 200); // Заполняем натуральными числами
write(a[i] + ' '); // Выводим на экран для проверки программы
end;
foreach i: integer in a do // Проходим по элементам массива
if (i.ToString().Length = 2) and (i mod 2 = 0) then // Если 2хзн и чёт,то
if (max < i) then max := i; // Если макс меньше, то макс=новый
writeln('максимальное четное двузначное число: ' + max);
end.
Пьер Ферма на картинке