Задание 16 ОГЭ по информатике 2027: программа для последовательности чисел

Задание 16 ОГЭ по информатике — программа, которая читает последовательность чисел и находит количество, сумму, наименьшее или наибольшее из чисел с заданным свойством. Решение пишут на любом языке программирования и сдают файлом, эксперты запускают программу на своих тестах и ставят до 2 баллов.

Как решать

Программа читает числа по одному в цикле. Если в условии сказано, что последовательность заканчивается нулём, читайте первое число до цикла, а в конце тела цикла читайте следующее: так ноль останавливает цикл и сам в подсчёт не попадает. Если сначала вводится количество чисел, цикл пишут по счётчику: for _ in range(n).

Свойство числа проверяют остатками от деления. x % 10 — последняя цифра, x % 3 == 0 — делится на 3, x % 2 == 0 — чётное. Цифры числа перебирают циклом: берут y % 10 и делят y //= 10, пока число не станет нулём.

Для количества и суммы заведите переменную со значением 0 до цикла. Для наименьшего числа начальное значение должно быть больше любого возможного числа из условия: если числа не превышают 30 000, подойдёт 30 001. Для наибольшего — меньше любого возможного, например 0 для натуральных чисел.

Программа печатает только ответ: одно число, без пояснений. Перед сдачей запустите её на примере из условия и на своих данных, где подходящих чисел нет совсем или подходит самое первое или последнее число.

По критериям демоверсии 2 балла ставят, если программа верно работает на всех тестах эксперта, 1 балл — если она выдаёт неверный ответ только на одном тесте, в остальных случаях — 0 баллов.

Примеры с решением

Пример 1

Напишите программу, которая в последовательности натуральных чисел определяет, сколько чисел делится на 3 и оканчивается на цифру 4. Программа получает на вход натуральные числа, количество чисел неизвестно, но не превышает 1000. Последовательность заканчивается числом 0 — это признак окончания ввода, в последовательность он не входит. Программа должна напечатать одно число — количество таких чисел.

Файл данных: 16_ex1.txt — 13 строк, 44 байта. Первые строки файла:

24
17
54
104
84
213
144
3

Решение на Python

count = 0
x = int(input())
while x != 0:
    if x % 3 == 0 and x % 10 == 4:
        count += 1
    x = int(input())
print(count)

Ответ: 5

Подходят 24, 54, 84, 144 и 2994: каждое делится на 3, и последняя цифра у каждого — 4. Число 104 оканчивается на 4, но на 3 не делится, поэтому в счёт не идёт.

Пример 2

Напишите программу, которая в последовательности натуральных чисел находит наименьшее чётное число, которое не делится на 10. Программа получает на вход натуральные числа, количество чисел неизвестно, но не превышает 1000, каждое число не превышает 30 000. Последовательность заканчивается числом 0, в последовательность он не входит. Гарантируется, что хотя бы одно такое число в последовательности есть. Программа должна напечатать это наименьшее число.

Файл данных: 16_ex2.txt — 10 строк, 46 байт. Первые строки файла:

3050
2716
4401
1998
870
2402
1220
5555

Решение на Python

best = 30001  # больше любого числа из условия
x = int(input())
while x != 0:
    if x % 2 == 0 and x % 10 != 0 and x < best:
        best = x
    x = int(input())
print(best)

Ответ: 1998

Чётных чисел, не кратных 10, в данных четыре: 2716, 1998, 2402 и 2118. Числа 3050, 870 и 1220 чётные, но делятся на 10. Начальное значение 30 001 больше любого числа из условия, поэтому первое подходящее число сразу его заменит.

Пример 3

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

Файл данных: 16_ex3.txt — 9 строк, 32 байта. Первые строки файла:

8
19
56
208
1234
90
4601
73

Решение на Python

n = int(input())
total = 0
for _ in range(n):
    x = int(input())
    digits = 0
    y = x
    while y > 0:
        digits += y % 10
        y //= 10
    if digits == 10:
        total += x
print(total)

Ответ: 2039

Сумма цифр равна 10 у чисел 19, 208, 1234, 73 и 505; их сумма — 2039. У 56 и 4601 сумма цифр 11, у 90 — 9. Первое число файла — количество чисел, в сумму оно не входит.

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

Потренироваться на тренажёре

Частые вопросы

На каком языке можно писать задание 16 ОГЭ по информатике?

На любом языке программирования, который вы изучали. В кодификаторе названы Python, C++, Паскаль, Java, C# и школьный алгоритмический язык. Программу сохраняют в файл и сдают как ответ.

Сколько баллов дают за задание 16 ОГЭ?

До 2 баллов. По критериям демоверсии 2 балла ставят, если программа верно работает на всех тестах эксперта, 1 балл — если она ошибается только на одном тесте.

Как проверяют задание 16?

Эксперт запускает вашу программу на наборе тестов и сравнивает напечатанные числа с правильными ответами. Поэтому программа должна печатать только число, без пояснений и подсказок ввода.

Официальные материалы

Другие задания

Все задания и структура экзамена — на странице ОГЭ по информатике. Соседние разборы: задание 15.

Описание задания сверено 28 сентября 2026 года со спецификацией 2027 года (документы 2027 года). Примеры составлены нами по структуре демоверсии, каждое решение запущено, и напечатанный им ответ совпадает с ответом на странице. Кодолимп не связан с разработчиками экзамена. Заметили неточность — напишите нам.