РУҚА
25

Решение: Замена кратных четырём

ЕГЭ · Информатика · Задание 25 · Алгоритмы и исполнители
ПовышеннаяФИПИ002443Развёрнутое решение≈ 10 минутРазбор в 4 шага
Условие

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, кратных 4, а затем заменяет каждый элемент, кратный 4, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

Исходные данные уже введены в массив. Разрешается использовать только переменные, объявленные в условии. В качестве ответа приведите фрагмент программы, который должен находиться на месте многоточия. Можно выбрать Python, Бейсик, алгоритмический язык, Паскаль или C++.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Сначала просматриваем все элементы массива и выбираем среди кратных 4 наименьший. В Python переменная j может хранить найденный минимум.

$$a[i] \bmod 4 = 0$$
2

Так как все элементы не превосходят 10000, можно начать поиск с j = 10000. Гарантия существования элемента, кратного 4, обеспечивает корректное обновление j.

$$j = \min\{a[i] \mid a[i] \bmod 4 = 0\}$$
3

Вторым проходом заменяем каждый элемент, кратный 4, найденным минимумом и затем выводим элементы массива.

$$a[i] = j \text{ при } a[i] \bmod 4 = 0$$

Один из возможных фрагментов на Python:

Ответ

Python:
j = 10000
for i in range(n):
if a[i] % 4 == 0 and a[i] < j:
j = a[i]
for i in range(n):
if a[i] % 4 == 0:
a[i] = j
print(a[i])

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Поиск минимума среди всех элементов, а не только среди кратных 4.

Замена только одного найденного элемента вместо всех элементов, кратных 4.

Вывод массива до выполнения замены.

Использование переменной, которая не была объявлена в условии.

Забывают вывести каждый элемент с новой строки.

Закрепить приёмВ теме «Алгоритмы и исполнители» ещё 431 задача — с ответом и таким же разбором.
Тренироваться

Как решать задание 25 ЕГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Алгоритмы и исполнители»: в ней 432 задачи, и у каждой есть такой же разбор. Регистрация не нужна.