Задание 16 ОГЭ по информатике · 014503

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
12 15 10 71 50 11 041
Показать ответ
Подходящие числа проверяются по условию n % 5 == 1 или n % 5 == 3; затем выводится их среднее арифметическое, а при отсутствии таких чисел — NO.
Подсказки (3)
  1. Как определить последнюю цифру числа в системе счисления с основанием 5, не переводя всё число в эту систему?
  2. Последняя цифра записи числа в системе счисления с основанием 5 равна остатку от деления числа на 5. Нечётные цифры среди 0, 1, 2, 3, 4 — это 1 и 3.
  3. Для подходящих чисел накапливайте сумму и количество: при n mod 5=1 или n mod 5=3 увеличивайте счётчик и добавляйте число к сумме. После ввода выведите sum/count либо NO.
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 5 определяется остатком от деления этого числа на 5.

2. В системе счисления с основанием 5 возможны цифры 0, 1, 2, 3 и 4. Нечётными являются цифры 1 и 3, поэтому подходят числа, для которых n mod 5=1 или n mod 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)
```

5. В примере подходят числа 71 и 11, поскольку их остатки при делении на 5 равны 1. Среднее арифметическое равно 71+112=41.
Частые ошибки
  • Проверяют нечётность самого десятичного числа, а не последней цифры его записи в системе счисления с основанием 5.
  • Забывают, что число 0 является только признаком окончания ввода и не обрабатывается как элемент последовательности.
  • Не предусматривают вывод NO при отсутствии подходящих чисел.
  • Используют целочисленное деление вместо обычного деления при вычислении среднего арифметического.

Источник: Открытый банк ФИПИ

Похожие задания

16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 01BD1316Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 01BE0116Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее…Задания открытого банка ФИПИ · 02610816Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7.…Задания открытого банка ФИПИ · 02A26716Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 4.…Задания открытого банка ФИПИ · 04658716Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · 06D42C16Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, которые кратны 4 или…Задания открытого банка ФИПИ · 08A5D816Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент…Задания открытого банка ФИПИ · 0A474B

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ОГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.