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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 4. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 4, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
11 25 30 14 54 018
Показать ответ
summa = 0; count = 0; while True:; n = int(input()); if n == 0:; break; if n % 7 == 4:; summa += n; count += 1; if count == 0:; print('NO'); else:; print(summa / count)
Подсказки (3)
  1. Как определить последнюю цифру числа в системе счисления с основанием 7, не переводя всё число в эту систему?
  2. Последняя цифра записи числа в системе счисления с основанием 7 равна остатку от деления числа на 7. Подходящие числа проверяются условием n mod 7=4.
  3. Организуйте цикл чтения до появления 0, накапливайте сумму и количество подходящих чисел. Если количество равно нулю, выведите `NO`, иначе — сумму, делённую на количество.
Решение
1. Считываем числа по одному до появления числа 0. Нулевое значение не входит в последовательность.
n=0 — признак окончания ввода

2. Последняя цифра записи натурального числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7. Поэтому выбираем числа, для которых остаток равен 4.
n mod 7=4

3. Для выбранных чисел накапливаем сумму и увеличиваем количество. После завершения ввода вычисляем среднее арифметическое.
среднее(x)=sumcount

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

5. Один из корректных вариантов программы на Python:
summa = 0
count = 0
while True:
n = int(input())
if n == 0:
break
if n % 7 == 4:
summa += n
count += 1
if count == 0:
print('NO')
else:
print(summa / count)
Частые ошибки
  • Проверяют делимость на 7 вместо проверки остатка 4.
  • Включают число 0 в сумму или количество элементов.
  • Пытаются переводить каждое число в семеричную систему счисления вручную.
  • Делят сумму на общее количество введённых чисел, а не на количество подходящих.
  • Не обрабатывают случай отсутствия подходящих элементов.

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

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

16Напишите программу, которая в последовательности натуральных чисел вычисляет сумму трёхзначных чисел, кратных…Задания открытого банка ФИПИ · 17F60116Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1899DF16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и…Задания открытого банка ФИПИ · 18BEB816Напишите программу, которая в последовательности натуральных десятичных чисел определяет сумму элементов…Задания открытого банка ФИПИ · 18EA8416Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 7 и…Задания открытого банка ФИПИ · 1C81DB16Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1CF4DC16Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество…Задания открытого банка ФИПИ · 1DF76716Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · 1F9015

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

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

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

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

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

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

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