РУҚА
16

Решение: Среднее по последней цифре

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

Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 — признак окончания ввода, в последовательность не входит).

Программа должна вывести одно число — среднее арифметическое десятичных чисел, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.

Пример работы программы:
Входные данные: 12, 15, 10, 71, 50, 11, 0.
Выходные данные: 41.

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

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

5 шагов
1

Последняя цифра записи натурального числа в системе счисления с основанием 5 определяется остатком от деления этого числа на 5.

2

В системе счисления с основанием 5 возможны цифры 0, 1, 2, 3 и 4. Нечётными являются цифры 1 и 3, поэтому подходят числа, для которых $n \bmod 5 = 1$ или $n \bmod 5 = 3$.

3

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

4

Программа на Python:

```python
s = 0
count = 0

while True:
n = int(input())
if n == 0:
break
if n % 5 == 1 or n % 5 == 3:
s += n
count += 1

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

В примере подходят числа 71 и 11, поскольку их остатки при делении на 5 равны 1. Среднее арифметическое равно $\dfrac{71 + 11}{2} = 41$.

Ответ

Подходящие числа проверяются по условию n % 5 == 1 или n % 5 == 3; затем выводится их среднее арифметическое, а при отсутствии таких чисел — NO.

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

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

Проверяют нечётность самого десятичного числа, а не последней цифры его записи в системе счисления с основанием 5.

Забывают, что число 0 является только признаком окончания ввода и не обрабатывается как элемент последовательности.

Не предусматривают вывод NO при отсутствии подходящих чисел.

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

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

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

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

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