В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Hayat11111
Hayat11111
23.04.2020 12:59 •  Информатика

13.1. У двох рядках дано по одному натуральному числу (друге не менше за перше). Виведіть усі числа, що кратні зі лежать між даними
числами включно. Якщо таких Чисел немає, то нічого не виводити.
Вхід - 5 9
Вихід - 6 9

13.2. У двох рядках дано по одному натуральному пiслу (друге не
менше за перше). Bведіть кількість чисел, що кратні 7 і лежать між
даними числами включно. Якщо таких чисел немає, то нічого не вводить.
Вхід - 8 21
Вихід - 2

13.3. Турист проходить туристичний маршрут і за перший день
пройшов а кілометрів, а за кожен наступний на 100% менше. На якій день
турист подолає ввесь маршрут, якщо його довжина 5 кілометрів. У двох
рядках дано по одному натуральному числу 4 i s. введіть відповідь на
задачу,
Вхід - 20 100
Вихід - 7

Показать ответ
Ответ:
irinabal
irinabal
13.11.2022 05:34

На первый взгляд кажется, что задача простая. Поскольку последовательность состоит из целых чисел, то среди них могут быть и отрицательные, а значит, минимальное произведение получится, если умножить максимальное положительное число на минимальное отрицательное. Однако, это не так, если в последовательность входят только положительные или только отрицательные числа, поэтому такие случаи требуют особого рассмотрения.

Если все элементы последовательности положительные, то очевидно, что минимальное произведение – это произведение двух минимальных элементов последовательности. Если же все элементы последовательности отрицательные, то как ни странно, минимальное произведение дадут два максимальных элемента последовательности (так как они по модулю ближе всех к нулю, а минус на минус даёт плюс).

Таким образом, получается, что нам необходимо найти в последовательности два максимальных и два минимальных элемента, а потом выбрать минимальное произведение из трёх. Для одновременного поиска двух максимальных элементов можно использовать стратегию «турнирной таблицы». После считывания каждого элемента нужно будет сравнивать его с текущими значениями первого и второго максимума, и разбирать случаи. Их будет три. Первый случай – очередной элемент последовательности больше текущего значения первого максимума. Тогда нужно первый максимум опустить на вторую позицию, а на первую позицию записать новый элемент. Второй случай – элемент не больше первого максимума (возможно, что равен ему), но больше второго. Тогда первый максимум не изменяется, а на вторую позицию записывается считанный элемент. Третий случай – элемент не больше второго максимума (возможно, что равен ему). В этом случае нам не нужно предпринимать никаких действий. Минимумы ищутся аналогично.

Остаётся последний вопрос  – какие начальные значения задать максимумам и минимумам.  По аналогии с задачей № 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.

0,0(0 оценок)
Ответ:
Зайчик010101
Зайчик010101
05.02.2020 03:17
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var a:=ArrRandom(100,-10,10);
  a.Println;
  Writeln(a.Where(x->x>0).Count,' положительных, ',
    a.Where(x->x<0).Count,' отрицательных')
end.

Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота