РУҚА
16

Решение: Среднее чисел на единицу

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

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, оканчивающихся на единицу, или сообщает, что таких чисел нет. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести среднее арифметическое чисел, оканчивающихся на единицу, или вывести NO, если таких чисел в последовательности нет.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

4 шага
1

Считываем очередное число. Если оно равно 0, ввод завершается.

$$x = 0$$
2

Для каждого ненулевого числа проверяем, оканчивается ли оно на единицу, используя остаток от деления на 10. Подходящее число добавляем к сумме и увеличиваем счётчик.

$$x \bmod 10 = 1$$
3

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

$$\overline{x} = \dfrac{S}{n}$$

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

Ответ

s = 0
count = 0

while True:
x = int(input())
if x == 0:
break
if x % 10 == 1:
s += x
count += 1

if count == 0:
print('NO')
else:
print(s / count)

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

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

Учитывают число 0 как элемент последовательности.

Проверяют делимость на 10 вместо проверки остатка 1.

Выводят сумму вместо среднего арифметического.

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

Используют целочисленное деление вместо обычного деления.

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

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

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

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