Задано четыре числа: a,b,c,d .требуется разбить их на две пары,чтобы сумма произведений в этих парах была максимальна например,если заданы числа 2,3,4 и 5, то оптимально разбить их на пары (2,3) и (4,5),в этом случае искомая сумма равна 2x3+4x5=26. формат входных данных на вход четыре числа: a.b.c и d.все числа по модулю не превышают 1000.. формат выходных данных. выведите искомую максимальную сумму. примеры стандартный ввод 2 3 4 5 стандартный вывод 26

alensozonova alensozonova    1   13.09.2019 09:50    5

Ответы
СофияKomarova СофияKomarova  07.10.2020 11:51
Var a,b,c,d,s:integer;
begin
readln(a,b,c,d);
s:=a*b+c*d;
if a*c+b*d>s then s:=a*c+b*d;
if a*d+b*c>s then s:=a*d+b*c;
writeln(s);
// можно вывести полученные пары чисел:
if s=a*b+c*d then writeln('(',a,',',b,') и (',c,',',d,')')
 else if s=a*c+b*d then writeln('(',a,',',c,') и (',b,',',d,')')
  else writeln('(',a,',',d,') и (',b,',',c,')')
end.

Пример:
2 3 4 5
26
(2,3) и (4,5)
ПОКАЗАТЬ ОТВЕТЫ
Zxcy Zxcy  07.10.2020 11:51
Var a: array[1..4] of integer;
    i,j: integer;
begin
   for i:=1 to 4 do read(a[i]);
   for i:=1 to 3 do
   for j:=i+1 to 4 do
   if a[i]<a[j] then swap(a[i],a[j]);
   writeln(a[1]*a[2]+a[3]*a[4]);
end.

11 6 5 19
239
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика