Задание 16 ОГЭ по информатике · BDAD52
ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 12 15 10 71 50 11 0 | 31.6 |
Показать ответ
s = 0; k = 0; while True:; n = int(input()); if n == 0:; break; if (n % 7) % 2 == 1:; s += n; k += 1; if k == 0:; print('NO'); else:; print(s / k)
Подсказки (3)
- Как получить последнюю цифру записи числа в системе счисления с основанием 7, не переводя всё число целиком?
- Последняя цифра числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7. Нужно проверить нечётность этого остатка.
- Считывайте числа до нуля, для подходящих чисел увеличивайте количество и добавляйте число к сумме. Если количество больше нуля, выведите сумму, делённую на количество, иначе выведите «NO».
Решение
1. Последняя цифра записи натурального числа в системе счисления с основанием 7 определяется остатком от деления числа на 7.
last_digit=n mod 7
2. Если этот остаток нечётный, число учитывается при вычислении среднего арифметического.
n mod 7 mod 2=1
3. Последовательно считываем числа до появления нуля, отдельно накапливая сумму подходящих чисел и их количество.
S=S+n,k=k+1
4. После окончания ввода проверяем, были ли подходящие числа. При наличии таких чисел выводим среднее арифметическое, иначе выводим «NO».
Sk,k>0
5. Один из возможных вариантов программы:
last_digit=n mod 7
2. Если этот остаток нечётный, число учитывается при вычислении среднего арифметического.
n mod 7 mod 2=1
3. Последовательно считываем числа до появления нуля, отдельно накапливая сумму подходящих чисел и их количество.
S=S+n,k=k+1
4. После окончания ввода проверяем, были ли подходящие числа. При наличии таких чисел выводим среднее арифметическое, иначе выводим «NO».
Sk,k>0
5. Один из возможных вариантов программы:
Частые ошибки
- Проверяют нечётность самого числа, а не его последней цифры в системе счисления с основанием 7.
- Включают завершающий ноль в сумму или количество чисел.
- Забывают обработать случай, когда подходящих чисел нет.
- Используют целочисленное деление вместо обычного деления при вычислении среднего арифметического.
Источник: Открытый банк ФИПИ
Похожие задания
16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · B92B2516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B9E24F16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и…Задания открытого банка ФИПИ · BA6BE016Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · BCD6E616Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, кратных 5 или 9.…Задания открытого банка ФИПИ · C2D6EB16Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает…Задания открытого банка ФИПИ · C3AEB516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · C498D216Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 9.…Задания открытого банка ФИПИ · C576FE
Нужен репетитор по информатике?
Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.
Готовьтесь к ОГЭ по информатике в Precettore
Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.