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

Ответы 1

  • 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.
    • Автор:

      kaiao1hk
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years