Ответ: Замена элементов массива
k = 10001
for i in range(n):
if a[i] % 8 != 0 and a[i] < k:
k = a[i]
for i in range(n):
if a[i] % 8 != 0:
a[i] = k
for i in range(n):
print(a[i])
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Дан целочисленный массив из 30 элементов. Элементы массива принимают натуральные значения от 1 до 10 000 включительно. Опишите на языке программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 8, а затем заменяет каждый элемент, не делящийся нацело на 8, на найденный минимум. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент — с новой строки.
Для решения на Python используются заранее объявленные переменные a, n, i, j, k: массив a заполнен 30 исходными элементами, n = 30. Запишите фрагмент программы на Python 3, который должен находиться на месте многоточия.
Где здесь ошибаются
Искать минимум среди всех элементов, включая делящиеся на 8.
Заменять также элементы, которые делятся на 8.
Использовать найденный минимум до завершения первого прохода.
Выводить элементы в одну строку вместо вывода каждого элемента с новой строки.