Вопрос по информатике:
Помогите, пожалуйста, написать программу в Паскале!
Задано 2n целых чисел. Требуется разбить их на пары, так, чтобы сумма произведений чисел в парах была как можно больше.
Например, если заданы числа 1,2,3 и 4, то оптимальный способ разбиения на пары -(1,2) и (3,4). В этом случае искомая сумма равна 14. Требуется написать программу, которая по заданному числу n (1 меньше или ровно n и n меньше или ровно 100) и набору из 2n чисел выдаст их оптимальное рабиение на пары.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 06.06.2015 00:10
- Информатика
- remove_red_eye 9422
- thumb_up 24
Ответы и объяснения 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.
- 07.06.2015 08:20
- thumb_up 14
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.