ОГЭ по информатике · задание 16

Программа: обработка последовательности

Нужно написать программу, которая читает последовательность чисел и считает сумму, количество, максимум или минимум по условию. К каждому варианту — пример и большой тест для проверки.

Шаблон решения

  • Сначала n = int(input()), затем цикл for i in range(n).
  • Внутри: прочитать число, проверить условие, обновить ответ.
  • Остаток x % 10 — последняя цифра, x % k — последняя цифра в k-ичной системе.

Как проверить себя

  1. Прогнать пример из условия.
  2. Скачать большой тест и запустить: python program.py < тест.txt.
  3. Ввести результат в поле ответа.

Типичные ошибки

  • Неверное начальное значение минимума или максимума.
  • Считать N как элемент последовательности.
  • Печатать лишний текст вместо одного числа.

Разобранные варианты

Сначала напиши программу сам, проверь на примере и большом тесте, потом открой разбор.

Вариант 1

сумму · N чисел

Напишите программу подсчёта суммы элементов последовательности натуральных чисел, запись которых в четверичной системе счисления оканчивается на цифру 3. В ответе запишите только сумму.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — сумму элементов.

Входные данныеВыходные данные
6 7 171 77 18 29 232178

Большой тест (N = 1000): Oge16_v1_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v1_test.txt.

Разбор

Разбор примера. Подходят числа 7, 171 — ответ 178.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 4 == 3. Подходящие числа прибавляем к сумме.

Остаток от деления на k — последняя цифра числа в k-ичной системе, поэтому переводить число не нужно.

Ответ на большом тесте: 3569241.

Ответ: 3569241

Решение на Python.

n = int(input())
total = 0
for i in range(n):
    x = int(input())
    if x % 4 == 3:
        total += x
print(total)

Вариант 2

количество · N чисел

Напишите программу подсчёта количества элементов последовательности натуральных чисел, которые кратны 4 и оканчиваются на 8. В ответе запишите только количество.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — количество элементов.

Входные данныеВыходные данные
5 88 237 198 170 482

Большой тест (N = 1000): Oge16_v2_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v2_test.txt.

Разбор

Разбор примера. Подходят числа 88, 48 — ответ 2.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 4 == 0 and x % 10 == 8. Подходящие числа считаем.

Ответ на большом тесте: 54.

Ответ: 54

Решение на Python.

n = int(input())
count = 0
for i in range(n):
    x = int(input())
    if x % 4 == 0 and x % 10 == 8:
        count += 1
print(count)

Вариант 3

максимальный · N чисел

Напишите программу определения максимального из элементов последовательности натуральных чисел, которые кратны 6, но не кратны 9. В ответе запишите только максимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — максимальный из таких элементов.

Входные данныеВыходные данные
6 115 262 30 282 274 120282

Большой тест (N = 1000): Oge16_v3_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v3_test.txt.

Разбор

Разбор примера. Подходят числа 30, 282, 120 — ответ 282.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 6 == 0 and x % 9 != 0. Подходящие числа сравниваем с текущим максимумом.

Ответ на большом тесте: 29454.

Ответ: 29454

Решение на Python.

n = int(input())
best = 0
for i in range(n):
    x = int(input())
    if x % 6 == 0 and x % 9 != 0 and x > best:
        best = x
print(best)

Вариант 4

сумму · N чисел

Напишите программу подсчёта суммы элементов последовательности натуральных чисел, которые больше 100 и оканчиваются на 0. В ответе запишите только сумму.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — сумму элементов.

Входные данныеВыходные данные
6 55 89 290 160 79 207450

Большой тест (N = 1000): Oge16_v4_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v4_test.txt.

Разбор

Разбор примера. Подходят числа 290, 160 — ответ 450.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x > 100 and x % 10 == 0. Подходящие числа прибавляем к сумме.

Ответ на большом тесте: 1477330.

Ответ: 1477330

Решение на Python.

n = int(input())
total = 0
for i in range(n):
    x = int(input())
    if x > 100 and x % 10 == 0:
        total += x
print(total)

Вариант 5

минимальный · N чисел

Напишите программу определения минимального из элементов последовательности натуральных чисел, у которых сумма цифр чётная. В ответе запишите только минимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — минимальный из таких элементов.

Входные данныеВыходные данные
6 198 277 59 10 263 3659

Большой тест (N = 1000): Oge16_v5_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v5_test.txt.

Разбор

Разбор примера. Подходят числа 198, 277, 59 — ответ 59.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие sum(map(int, str(x))) % 2 == 0. Подходящие числа сравниваем с текущим минимумом.

Начальное значение минимума — заведомо больше любого числа (числа не превышают 30 000).

Ответ на большом тесте: 44.

Ответ: 44

Решение на Python.

n = int(input())
best = 30001
for i in range(n):
    x = int(input())
    if sum(map(int, str(x))) % 2 == 0 and x < best:
        best = x
print(best)

Вариант 6

количество · N чисел

Напишите программу подсчёта количества элементов последовательности натуральных чисел, которые являются чётными и меньше 500. В ответе запишите только количество.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — количество элементов.

Входные данныеВыходные данные
6 235 170 106 109 178 1193

Большой тест (N = 1000): Oge16_v6_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v6_test.txt.

Разбор

Разбор примера. Подходят числа 170, 106, 178 — ответ 3.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 2 == 0 and x < 500. Подходящие числа считаем.

Ответ на большом тесте: 7.

Ответ: 7

Решение на Python.

n = int(input())
count = 0
for i in range(n):
    x = int(input())
    if x % 2 == 0 and x < 500:
        count += 1
print(count)

Вариант 7

сумму · N чисел

Напишите программу подсчёта суммы элементов последовательности натуральных чисел, запись которых в четверичной системе счисления оканчивается на цифру 3. В ответе запишите только сумму.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — сумму элементов.

Входные данныеВыходные данные
6 80 183 73 264 259 162442

Большой тест (N = 1000): Oge16_v7_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v7_test.txt.

Разбор

Разбор примера. Подходят числа 183, 259 — ответ 442.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 4 == 3. Подходящие числа прибавляем к сумме.

Остаток от деления на k — последняя цифра числа в k-ичной системе, поэтому переводить число не нужно.

Ответ на большом тесте: 3270973.

Ответ: 3270973

Решение на Python.

n = int(input())
total = 0
for i in range(n):
    x = int(input())
    if x % 4 == 3:
        total += x
print(total)

Вариант 8

максимальный · N чисел

Напишите программу определения максимального из элементов последовательности натуральных чисел, которые кратны 3 и оканчиваются на 8. В ответе запишите только максимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — максимальный из таких элементов.

Входные данныеВыходные данные
6 78 116 126 85 258 155258

Большой тест (N = 1000): Oge16_v8_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v8_test.txt.

Разбор

Разбор примера. Подходят числа 78, 258 — ответ 258.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 3 == 0 and x % 10 == 8. Подходящие числа сравниваем с текущим максимумом.

Ответ на большом тесте: 28548.

Ответ: 28548

Решение на Python.

n = int(input())
best = 0
for i in range(n):
    x = int(input())
    if x % 3 == 0 and x % 10 == 8 and x > best:
        best = x
print(best)

Вариант 9

количество · N чисел

Напишите программу подсчёта количества элементов последовательности натуральных чисел, которые кратны 7, но не кратны 5. В ответе запишите только количество.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — количество элементов.

Входные данныеВыходные данные
5 196 128 272 161 73

Большой тест (N = 1000): Oge16_v9_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v9_test.txt.

Разбор

Разбор примера. Подходят числа 196, 161, 7 — ответ 3.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x % 7 == 0 and x % 5 != 0. Подходящие числа считаем.

Ответ на большом тесте: 119.

Ответ: 119

Решение на Python.

n = int(input())
count = 0
for i in range(n):
    x = int(input())
    if x % 7 == 0 and x % 5 != 0:
        count += 1
print(count)

Вариант 10

минимальный · N чисел

Напишите программу определения минимального из элементов последовательности натуральных чисел, которые больше 100 и оканчиваются на 4. В ответе запишите только минимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — минимальный из таких элементов.

Входные данныеВыходные данные
6 275 183 214 15 180 164164

Большой тест (N = 1000): Oge16_v10_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v10_test.txt.

Разбор

Разбор примера. Подходят числа 214, 164 — ответ 164.

Идея программы. Считываем N, затем в цикле N раз читаем число и проверяем условие x > 100 and x % 10 == 4. Подходящие числа сравниваем с текущим минимумом.

Начальное значение минимума — заведомо больше любого числа (числа не превышают 30 000).

Ответ на большом тесте: 264.

Ответ: 264

Решение на Python.

n = int(input())
best = 30001
for i in range(n):
    x = int(input())
    if x > 100 and x % 10 == 4 and x < best:
        best = x
print(best)

Для самостоятельного решения

Варианты 11–15 без разборов. Ответ можно проверить кнопкой.

Вариант 11

сумму · N чисел

Напишите программу подсчёта суммы элементов последовательности натуральных чисел, у которых сумма цифр чётная. В ответе запишите только сумму.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — сумму элементов.

Входные данныеВыходные данные
5 159 145 227 95 237477

Большой тест (N = 1000): Oge16_v11_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v11_test.txt.

Вариант 12

максимальный · N чисел

Напишите программу определения максимального из элементов последовательности натуральных чисел, которые являются чётными и меньше 1000. В ответе запишите только максимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — максимальный из таких элементов.

Входные данныеВыходные данные
5 21 133 30 21 144144

Большой тест (N = 1000): Oge16_v12_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v12_test.txt.

Вариант 13

количество · N чисел

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в троичной системе счисления оканчивается на цифру 2. В ответе запишите только количество.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — количество элементов.

Входные данныеВыходные данные
6 278 14 264 274 268 2372

Большой тест (N = 1000): Oge16_v13_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v13_test.txt.

Вариант 14

минимальный · N чисел

Напишите программу определения минимального из элементов последовательности натуральных чисел, которые кратны 4 и оканчиваются на 2. В ответе запишите только минимальный элемент.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — минимальный из таких элементов.

Входные данныеВыходные данные
5 232 16 118 232 192192

Большой тест (N = 1000): Oge16_v14_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v14_test.txt.

Вариант 15

сумму · N чисел

Напишите программу подсчёта суммы элементов последовательности натуральных чисел, которые кратны 3, но не кратны 5. В ответе запишите только сумму.

На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Все числа не превышают 30 000. Гарантируется, что в последовательности есть хотя бы одно подходящее число. Программа должна напечатать только одно число — сумму элементов.

Входные данныеВыходные данные
6 3 241 213 179 144 201561

Большой тест (N = 1000): Oge16_v15_test.txt. Запустите на нём свою программу и введите результат ниже. Чтобы не набирать тысячу чисел, перенаправьте ввод: python program.py < Oge16_v15_test.txt.