Задание 16 ОГЭ по информатике · 1B108F
ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 4. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 4, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 4, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 11 25 30 14 54 0 | 18 |
Показать ответ
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)
- Как определить последнюю цифру числа в системе счисления с основанием 7, не переводя всё число в эту систему?
- Последняя цифра записи числа в системе счисления с основанием 7 равна остатку от деления числа на 7. Подходящие числа проверяются условием n mod 7=4.
- Организуйте цикл чтения до появления 0, накапливайте сумму и количество подходящих чисел. Если количество равно нулю, выведите `NO`, иначе — сумму, делённую на количество.
Решение
1. Считываем числа по одному до появления числа 0. Нулевое значение не входит в последовательность.
n=0 — признак окончания ввода
2. Последняя цифра записи натурального числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7. Поэтому выбираем числа, для которых остаток равен 4.
n mod 7=4
3. Для выбранных чисел накапливаем сумму и увеличиваем количество. После завершения ввода вычисляем среднее арифметическое.
среднее(x)=sumcount
4. Если подходящих чисел нет, количество равно нулю, поэтому выводим `NO`. Иначе выводим среднее арифметическое.
5. Один из корректных вариантов программы на Python:
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
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.