РУҚА
16

Решение: Среднее кратных четырём

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ8D33AEРазвёрнутое решение≈ 10 минутРазбор в 5 шагов
Условие

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет, выводя NO. Программа получает на вход натуральные числа, количество введённых чисел неизвестно; последовательность заканчивается числом 0, который является признаком окончания ввода и не входит в последовательность. Количество чисел не превышает 100, введённые числа не превышают 300. Программа должна вывести среднее арифметическое чисел, кратных 4, или вывести NO, если таких чисел нет.

Входные данныеВыходные данные
8 120 64 16 052.0
111 1 0NO
Пример работы программы
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

Введём переменные для суммы чисел, кратных 4, и их количества.

$$s = 0,\quad k = 0$$
2

Считываем очередное число. Если оно равно нулю, ввод заканчивается. Иначе проверяем его делимость на 4.

$$n \bmod 4 = 0$$
3

Для каждого подходящего числа прибавляем его к сумме и увеличиваем количество найденных чисел на единицу.

4

Если подходящих чисел нет, выводим NO. В противном случае выводим среднее арифметическое.

$$\overline{x} = \dfrac{s}{k}$$

Один из возможных вариантов программы:

$$s = 0\nk = 0\nn = int(input())\nwhile n != 0:\n if n % 4 == 0:\n s += n\n k += 1\n n = int(input())\nif k == 0:\n print('NO')\nelse:\n print(s / k)$$
Ответ

s = 0
k = 0
n = int(input())
while n != 0:
if n % 4 == 0:
s += n
k += 1
n = int(input())
if k == 0:
print('NO')
else:
print(s / k)

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Включают число 0 в последовательность или проверяют его на кратность 4.

Делят сумму на общее количество введённых чисел, а не на количество чисел, кратных 4.

Не предусматривают случай отсутствия чисел, кратных 4.

Используют условие n / 4 == 0 вместо проверки остатка n % 4 == 0.

Закрепить приёмВ теме «Основы программирования» ещё 153 задачи — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Основы программирования»: в ней 154 задачи, и у каждой есть такой же разбор. Регистрация не нужна.