// PascalABC.NET
begin
var n := ReadInteger;
var a := ReadArrInteger(n);
var d :=
a.Where(p -> p.IsEven and (p mod 10 = 2)).Max -
a.Where(p -> p.IsOdd and (p mod 10 = 5)).Min;
a.Transform(p -> p > d ? p - d : p);
a.Reverse.Print
end.
алгоритм — это предназначенное для конкретного исполнения точное описание последовательности и действий, направленных на решение поставленной .
свойства алгоритма.
дискретность — разделение алгоритма на последовательность шагов.
результативность — получение из исходных данных результата за конечное число шагов.
массовость — возможность применения алгоритма к большому количеству различных исходных данных.
детерминированность (определенность) — исполнитель должен выполнять команды алгоритма в строго определенной последовательности.
выполнимость и понятность — алгоритм должен содержать команды, входящие в систему команд исполнителя и записанные на понятном исполнителю языке.
const N = 8;
var i,min,max: integer;
var a: array [1..N] of integer;
begin
write('Введите массив: ');
min:=0;
max:=0;
for i:=1 to N do
begin
readln(a[i]);
if (a[i] mod 2 = 0) and (a[i] mod 10 = 2) then
begin
if (max=0) then max:=a[i]
else if (a[i]>max) then max:=a[i];
end;
if (a[i] mod 2 <> 0) and (a[i] mod 10 = 5) then
begin
if (min=0) then min:=a[i]
else if (a[i]<min) then min:=a[i];
end;
end;
for i:=N downto 1 do
begin
if (a[i]>(max-min)) then a[i]:=a[i]-(max-min);
write(a[i],' ');
end;
end.