Можете перевести программу из Pascal на Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Программа:

const
aMax = 10000; {наибольшее возможное число в исходных данных}

var
N: longint; {количество пар}
a, b: longint; {пара чисел}
Max: longint; {максимум в паре}
Min: longint; {минимум в паре}
s: longint; {сумма выбранных чисел}
D_min: longint; {минимальная разница Max-Min не кратная 3}
i: longint;

begin
s := 0;
D_min := aMax + 1;
readln(N);
for i := 1 to N do begin
readln(a, b);
if a>b then begin Max:=a; Min:=b end
else begin Max:=b; Min:=a end;
s := s + Max;
if ((Max - Min) mod 3 > 0) and (Max - Min < D_min)
then D_min := Max - Min
end;
if s mod 3 = 0 then begin
if D_min > aMax then s := 0
else s := s – D_min
end;
writeln(s)
end.

МААклерша МААклерша    2   28.02.2020 10:00    0

Другие вопросы по теме Информатика