

На первый взгляд кажется, что задача простая. Поскольку последовательность состоит из целых чисел, то среди них могут быть и отрицательные, а значит, минимальное произведение получится, если умножить максимальное положительное число на минимальное отрицательное. Однако, это не так, если в последовательность входят только положительные или только отрицательные числа, поэтому такие случаи требуют особого рассмотрения.
Если все элементы последовательности положительные, то очевидно, что минимальное произведение – это произведение двух минимальных элементов последовательности. Если же все элементы последовательности отрицательные, то как ни странно, минимальное произведение дадут два максимальных элемента последовательности (так как они по модулю ближе всех к нулю, а минус на минус даёт плюс).
Таким образом, получается, что нам необходимо найти в последовательности два максимальных и два минимальных элемента, а потом выбрать минимальное произведение из трёх. Для одновременного поиска двух максимальных элементов можно использовать стратегию «турнирной таблицы». После считывания каждого элемента нужно будет сравнивать его с текущими значениями первого и второго максимума, и разбирать случаи. Их будет три. Первый случай – очередной элемент последовательности больше текущего значения первого максимума. Тогда нужно первый максимум опустить на вторую позицию, а на первую позицию записать новый элемент. Второй случай – элемент не больше первого максимума (возможно, что равен ему), но больше второго. Тогда первый максимум не изменяется, а на вторую позицию записывается считанный элемент. Третий случай – элемент не больше второго максимума (возможно, что равен ему). В этом случае нам не нужно предпринимать никаких действий. Минимумы ищутся аналогично.
Остаётся последний вопрос – какие начальные значения задать максимумам и минимумам. По аналогии с задачей № 2 в максимумы нужно записывать числа, которые гарантированно меньше любого элемента последовательности, а в минимумы – числа, которые гарантированно больше любого элемента последовательности.
var a,max1,max2,min1,min2,p:integer;
begin
max1 := -10001;
max2 := -10001;
min1 := 10001;
min2 := 10001;
read(a);
while a <> 0 do begin
if a > max1
then begin
max2 := max1;
max1 := a
end
else if a > max2 then max2 := a;
if a < min1
then begin
min2 := min1;
min1 := a
end
else if a < min2 then min2:=a;
read(a)
end;
p := max1 * min1;
if max1 * max2 < p then p := max1 * max2;
if min1 * min2 < p then p := min1 * min2;
writeln(p)
end.
Четыре времени года:
Времена года состоят из четырех сезонов: лето, когда дни наиболее длинные, а солнце поднимается высоко над горизонтом; зима - дни короткие, а ночи длинные; межсезонные времена года весна и осень, на которые приходится период переходной смены сезонов лета и зимы.
времена года летовремена года зима
Весна - март, апрель, май. Природа начинает пробуждение после зимней спячки, начинается период роста и цветения растений.
Лето - июнь, июль, август. Период активного размножения и роста растительного мира.
Осень - сентябрь, октябрь, ноябрь. Замедление роста, подготовка природы к зимнему сну.
Зима - декабрь, январь, февраль. Период затишья, длительного сна природы.
(для умеренного пояса, центральной части России)
Лето, сменяет прохладная осень, потом наступает зимняя стужа и после приходит долгожданная весенняя оттепель - и так бесконечное количество раз, из года в год. В чём же таинство этого природного явления и почему происходит смена времен года на Земле?
Чтобы в полной мере визуально представить картину как это происходит, стоит рассказать, как движется земной шар в космосе.
Этих движений два:
1) Земля вокруг своей оси (условной линии, проходящей через центр северного и южного полюсов) совершает за сутки полный оборот. Благодаря этому астрономическому явлению день сменяет ночь. Когда на континентах, обращённых к Солнцу, горячий полдень, на неосвещаемых континентах - глубокая ночь.
2) Земля перемещается по эллипсовидной траектории вокруг Солнца, совершая полный оборот в течение 1 года.