-
09 April 2013
Английский язык
- Автор: Homyak312
Напишите пожалуйста на PascalABC
Дано N целых чисел. Требуется выбрать из них два таких числа, произведение которых максимально.
Вводится сначала число N - количество чисел в последовательности (2 ≤ N ≤ 100). Далее записана сама последовательность: N целых чисел, по модулю не превышающих 1000.
Выведите два искомых числа в любом порядке. Если существует несколько различных пар чисел, дающих максимальное произведение, то выведите любую из них.-
-
-
09 April 2013
- Ответ оставил: Kalimov1
var
N: 2..100;
a: array [1..100] of -1000..1000;
max1, max2, MaxPr, i, j: integer; {MaxPr - максимальное произведение, max1 и max2 - искомые числа}
function RangeOverfilling(Number: integer; Index: integer): integer; {Функция, возвращающая число в диапазон}
begin
if Number in [1..Index] then result := Number;
if Number > Index then result := Number mod Index;
if Number < 1 then result := Index + Number mod Index;
end;begin
MaxPr:= -maxint; {Присваиваем максимальному проиведению начальное значение, равное максимальному числу типа integer, взятому со знаком -}
writeln('Введите N');
readln(N);
for i:= 1 to N do
begin
writeln('Введите целое число, по модулю не превышающее 1000');
readln(a[i]);
end;
for i:= 1 to N - 1 do
for j:= 1 to RangeOverfilling(N - i, N) do
if a[i] * a[i + j] > MaxPr then
begin
MaxPr:= a[i] * a[i + j];
max1:= a[i];
max2:= a[i + j];
end;
writeln('Пара чисел, дающих максимальное произведение: ', max1,' и ', max2);
end.
-
-
- НЕ НАШЛИ ОТВЕТ?
Если вас не устраивает ответ или его нет, то попробуйте воспользоваться поиском на сайте и найти похожие ответы по предмету школьной программы: английский язык.
На сегодняшний день (06.07.2025) наш сайт содержит 244794 вопросов, по теме: английский язык. Возможно среди них вы найдете подходящий ответ на свой вопрос. -
Нажимая на кнопку "Ответить на вопрос", я даю согласие на обработку персональных данных
Ответить на вопрос