Типовые алгоритмы обработки массивов
Цель: Научиться реализовывать алгоритмы обработки элементов массива.
Дан массив из 100 элементов:
arr = [64, 61, 45, 97, 63, 70, 69, 14, 38, 31, 10, 52, 62, 61, 1, 54, 6, 46, 62, 11, 16, 35, 15, 88, 24, 31, 35, 88, 77, 99, 62, 69, 72, 51, 65, 86, 50, 33, 65, 88, 30, 67, 49, 8, 32, 78, 59, 71, 45, 44, 99, 14, 4, 98, 32, 95, 44, 47, 57, 52, 37, 43, 53, 91, 83, 64, 8, 21, 5, 2, 42, 52, 29, 24, 26, 12, 62, 2, 57, 35, 12, 79, 93, 26, 21, 81, 100, 12, 73, 13, 32, 32, 54, 35, 35, 30, 36, 44, 79, 70]
Напишите программу, для решения поставленных задач.
Вопросы кейса:
Определите количество элементов, кратных 3.
Определите сумму элементов, оканчивающихся на 8.
Определите произведение элементов, превышающих максимальный элемент массива, кратный 7.
Определите количество пар элементов, сумма которых кратна минимальному двузначному элементу. Под парой подразумевается два подряд идущих элемента массива.
Замените все элементы массива, кратные 7, на минимальную сумму трех подряд идущих элементов.
Схемы решения задач
Изучите реализацию основных алгоритмов обработки элементов массива.
Ввод элементов массива
N = 20
arr = []
for i in range(N):
arr.append(int(input()))
Подсчет количества элементов удовлетворяющих условию
k =0
for i in range(len(arr)):
if <критерии отбора>:
k =k +1
print(k)
Подсчет суммы элементов удовлетворяющих условию
s=0
for i in range(len(arr)):
if <критерии отбора>:
s =s + arr[i]
print(s)
Подсчет произведения элементов удовлетворяющих условию
p=1
for i in range(len(arr)):
if <критерии отбора>:
p =p * arr[i]
print(p)
Поиск минимального элемента, удовлетворяющего условию
min_ = 10000000
for i in range(len(arr)):
if <критерии отбора>:
if arr[i] < min_:
min_ = arr[i]
print(min_)
Поиск максимального элемента, удовлетворяющего условию
max_ = -10000000
for i in range(len(arr)):
if <критерии отбора>:
if arr[i] > max_:
max_ = arr[i]
print(max_)
Изменение элементов массива, удовлетворяющего условию
for i in range(N):
if <критерии отбора>:
arr[i] = <новое значение>
Вывод элементов массива
for i in range(N):
print(arr[i])
Обработка пар элементов
for i in range(N - 1):
if <arr[i] .. arr[i + 1]>: