Замена кратных семи минимумом
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, делящихся нацело на 7, а затем заменяет каждый элемент, делящийся нацело на 7, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строки.
Исходные данные объявлены заранее. Разрешается использовать только объявленные переменные. В Python доступны массив a, переменная n и целочисленные переменные i, j, k; в остальных языках доступны массив a, константа N и переменные i, j, k. В ответе необходимо привести фрагмент программы, который заменяет многоточие после ввода элементов массива. Можно использовать любой из предложенных языков программирования, указав его название и версию.
Условие как в банке ФИПИ — открыть и сверить
| Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите Например, для исходного массива из шести элементов: 21 6 14 8 14 49 программа должна вывести следующий массив: 14 6 14 8 14 14
Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке). | ||||||||||||
| | ||||||||||||
Это задание с развёрнутым решением: ответом считается запись хода решения, а не строка. Напишите решение на бумаге и сравните с разбором — там каждый шаг с обоснованием.
Открыть разбор1Мягкая — с чего смотретьуровень 1 из 3
Как за один или два прохода по массиву найти минимальный элемент, кратный 7, а затем заменить все элементы, кратные 7?
2Наводящая — какие числа считатьуровень 2 из 3
Сначала найдите минимум среди элементов, для которых выполняется условие остаток от деления на 7 равен нулю. Затем вторым проходом замените такие элементы найденным минимумом.
3Прямая — фактически решениеуровень 3 из 3
В Python можно использовать: k = 10001; затем для каждого i проверить a[i] % 7 == 0 и обновить k через min(k, a[i]); после этого заменить подходящие элементы и вывести их.