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