
ОГЭ Задание 16
Программирование
Штана Альберт Игоревич
Типы заданий № 16
В этой статье будет разобрано задание 16.
Рассмотрим типовые задачи из шестнадцатого задания ОГЭ по информатике.
Данное задание относится к высокому уровню сложности.
Время выполнения задания ≈ 25 минут.
Задание проверяет умение создавать и выполнять программы на универсальном языке программирования Python.
Задача 1 (Количество чисел: последовательность оканчивается нулём)
Напишите программу, которая в последовательности натуральных чисел вычисляет количество всех чисел, оканчивающихся на 9. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество всех чисел, оканчивающихся на 9.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 29 40 39 5 0 | 2 |
Решение:
Решение Python
n = int(input())
c = 0
while n != 0:
if n % 10 == 9:
c += 1
n = int(input())
print(c)
Задача 2 (Сумма чисел: последовательность оканчивается нулём)
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех двузначных чисел, кратных 5.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 29 45 55 11 0 | 100 |
Решение:
Решение Python
n = int(input())
sm = 0
while n != 0:
if n % 5 == 0 and 9 < n < 100:
sm += n
n = int(input())
print(sm)
Задача 3 (Количество чисел кратных числу)
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 3.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 5 3 11 21 6 12 | 4 |
Решение:
Решение Python
n = int(input())
с = 0
for _ in range(n):
x = int(input())
if x % 3 == 0:
с += 1
print(с)
Задача 4 (Сумма элементов)
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 1. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 1. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 3 и оканчивающихся на 1.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 5 3 11 21 6 12 | 21 |
Решение:
Решение Python
n = int(input())
sm = 0
for _ in range(n):
x = int(input())
if x % 3 == 0 and x % 10 == 1:
sm += x
print(sm)
Задача 5 (Трёхзначные числа)
Напишите программу, которая в последовательности натуральных чисел определяет сумму трехзначных нечётных чисел, кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется трёхзначное нечётное число, кратных 7. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму трёхзначных нечётных чисел, кратных 7.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 441 255 2146 455 | 896 |
Решение:
Решение Python
n = int(input())
sm = 0
for _ in range(n):
x = int(input())
if x % 2 != 0 and x % 7 == 0 and 99 < x < 1000:
sm += x
print(sm)
Задача 6 (Максимальное значение)
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — максимальное число, кратное 5.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 441 455 2146 255 | 455 |
Решение:
Решение Python
n = int(input())
mx = 0
for _ in range(n):
x = int(input())
if x % 5 == 0:
mx = max(mx, x)
print(mx)
Задача 7 (Минимальное значение)
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 6. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — минимальное число, оканчивающееся на 6.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 500 13 56 86 | 56 |
Решение:
Решение Python
n = int(input())
mx = 30001
for _ in range(n):
x = int(input())
if x % 10 == 6:
mx = min(mx, x)
print(mx)
Задача 8 (Остаток меньше 9)
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, которое при делении на число 110 даёт в остатке число, меньшее 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, которое при делении на число 110 даёт в остатке число, меньшее 9. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: минимальное число, которое при делении на число 110 даёт в остатке число, меньшее 9.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 116 113 143 | 113 |
Решение:
Решение Python
n = int(input())
mn = 30001
for _ in range(n):
x = int(input())
if (x % 110) < 9:
mn = min(mn, x)
print(mn)
Задача 9 (Количество делителей)
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, являющихся делителями числа 5000, но отличных от 1. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 5000, отличное от 1. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, являющихся делителями числа 5000, но отличных от 1.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 12 20 40 | 2 |
Решение:
Решение Python
n = int(input())
k = 0
for _ in range(n):
x = int(input())
if 5000 % x == 0 and x != 1:
k += 1
print(k)
Задача 10 (Наименьший делитель)
Напишите программу, которая в последовательности натуральных чисел определяет наименьший из делителей числа 888. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 888. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: наименьший в последовательности делитель числа 888.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 13 24 37 | 24 |
Решение:
Решение Python
n = int(input())
mn = 30001
for _ in range(n):
x = int(input())
if 888 % x == 0:
mn = min(mn, x)
print(mn)
Задача 11 (Наибольший делитель)
Напишите программу, которая в последовательности натуральных чисел определяет наибольший из делителей числа 2023. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, являющееся делителем числа 2023. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: наибольший в последовательности делитель числа 2023.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 35 17 119 | 119 |
Решение:
Решение Python
n = int(input())
mx = 0
for _ in range(n):
x = int(input())
if 2023 % x == 0:
mx = max(mx, x)
print(mx)
Задача 12 (Среднее арифметическое)
Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое двузначных чисел. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется двузначное число. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — среднее арифметическое двузначных чисел последовательности. Точность выводимого числа (число знаков после запятой) не имеет значения.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 35 405 25 | 30 |
Решение:
Решение Python
n = int(input())
sm = 0
k = 0
for _ in range(n):
x = int(input())
if 9 < x < 100:
k += 1
sm += x
print(sm / k)
Задача 13 (Все ли числа)
Напишите программу, которая в последовательности натуральных чисел определяет, все ли числа последовательности двузначные. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести «ДА», если в последовательности все числа двузначные, и «НЕТ» в противном случае.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 35 45 25 | ДА |
Решение:
Решение Python
n = int(input())
k = 0
for _ in range(n):
x = int(input())
if 9 < x < 100:
k += 1
if k == n:
print('ДА')
else:
print('НЕТ')
Задача 14 (Хотя бы одно число)
Напишите программу, которая в последовательности натуральных чисел определяет, есть ли в последовательности хотя бы одно нечётное число, большее 100. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести «ДА», если в последовательности есть хотя бы одно нечётное число, большее 100, и «НЕТ» в противном случае.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 3 35 145 205 | ДА |
Решение:
Решение Python
n = int(input())
k = 0
for _ in range(n):
x = int(input())
if x % 2 != 0 and x > 100:
k += 1
if k >= 1:
print('ДА')
else:
print('НЕТ')
Задача 15 (Контрольная по алгебре)
На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите ДА, иначе выведите НЕТ. Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 3 9 2 8 | 2 НЕТ |
Решение:
Решение Python
n = int(input())
c1 = 0 # Количество двоечников
c2 = 0 # Количество отличников
for _ in range(n):
x = int(input())
if x < 5:
c1 += 1
if x == 10:
c2 += 1
print(c1)
if c2 >= 1:
print('ДА')
else:
print('НЕТ')
Задача 16 (Камера наблюдения)
Напишите программу для определения минимальной зарегистрированной скорости автомобиля с помощью камеры наблюдения. Значения скорости округляются до целых чисел. Если скорость хотя бы одного автомобиля была больше 80 км/ч, программа должна вывести «ДА», в противном случае вывести «НЕТ». На вход программе передается количество проехавших автомобилей N (1 ≤ N ≤ 30), а затем указываются их скорости. Значение скорости должно быть в диапазоне от 1 до 300. Программа должна сначала вывести минимальную скорость, а затем - "ДА" или "НЕТ" в зависимости от того, была ли скорость хотя бы одного автомобиля больше 80 км/ч.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 74 69 63 96 | 63 ДА |
Решение:
Решение Python
n = int(input())
mn = 300 # минимальное значение
c = 0 # количество чисел, больших 80
for _ in range(n):
x = int(input())
mn = min(mn, x)
if x > 80:
c += 1
print(mn)
if c >= 1:
print('ДА')
else:
print('НЕТ')
Задача 17 (Демоверсия ОГЭ 2023)
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4, но не кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4 и не кратное 7. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 4, но не кратных 7.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 16 28 26 24 | 2 |
Решение:
Решение Python
n = int(input())
k = 0
for _ in range(n):
x = int(input())
if x % 4 == 0 and x % 7 != 0:
k += 1
print(k)
Задача 18 (Демоверсия ОГЭ 2024)
Напишите программу, которая в последовательности натуральных чисел определяет количество трёхзначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество трёхзначных чисел, кратных 4.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 120 9 365 4 0 | 1 |
Решение:
Решение Python
n = int(input())
k = 0
while n != 0:
if n % 4 == 0 and 99 < n < 1000:
k += 1
n = int(input())
print(k)
Задача 19 (Демоверсия ОГЭ 2025)
Напишите программу для решения следующей задачи. Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру для дней, когда температура поднималась выше нуля градусов. Определите количество таких дней. Гарантируется, что за время наблюдения хотя бы в один из дней температура поднималась выше нуля градусов. Программа получает на вход количество дней, в течение которых проводилось наблюдение N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 4 –5 12 –2 8 | 10.0 2 |
Решение:
Решение Python
n = int(input())
s = 0
cnt = 0
for _ in range(n):
x = int(input())
if x > 0:
s += x
cnt += 1
print(s / cnt)
print(cnt)
Попробуйте сами запустить код в окне ниже с интерпретатором Python и повторите примеры из статьи чтобы самим увидеть и понять как всё это работает. Для этого в ячейке с кодом нажмите клавиши на клавиатуре Shift+Enter или запустите код через кнопку Run по значку ▶.