Романman
06.03.2023 20:28

Написать программу в паскале! задано 2n целых чисел. требуется разбить их на пары, так, чтобы сумма произведений чисел в парах была как можно больше. например, если заданы числа 1,2,3 и 4, то оптимальный разбиения на пары -(1,2) и (3,4). в этом случае искомая сумма равна 14. требуется написать программу, которая по заданному числу n (1 меньше или ровно n и n меньше или ровно 100) и набору из 2n чисел выдаст их оптимальное рабиение на пары.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
58584
10.07.2020 22:57
Var
 n,i,j,c:integer;
 mas:array[1..999] of integer;

begin
 readln(n);
 for i:=1 to 2*n do
  readln(mas[i]);
 //Группируем массив в порядке возрастания
  for i := 1 to 2*n-1 do
   for j := 1 to 2*n-i do
    if mas[j] > mas[j+1] then
    begin
     c := mas[j];
     mas[j] := mas[j+1];
     mas[j+1] := c;
    end;
 writeln('Оптимальные пары:');
 for i:=1 to 2*n do
 begin
  if i mod 2 = 1 then
   write(mas[i],' и ');
  if i mod 2 = 0 then
   writeln(mas[i]);
 end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота