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

ПовышеннаяКЭС 3.2
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данныеВыходные данные
12 15 10 71 50 11 031.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)
  1. Как получить последнюю цифру записи числа в системе счисления с основанием 7, не переводя всё число целиком?
  2. Последняя цифра числа в системе счисления с основанием 7 равна остатку от деления этого числа на 7. Нужно проверить нечётность этого остатка.
  3. Считывайте числа до нуля, для подходящих чисел увеличивайте количество и добавляйте число к сумме. Если количество больше нуля, выведите сумму, делённую на количество, иначе выведите «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. Один из возможных вариантов программы:
Частые ошибки
  • Проверяют нечётность самого числа, а не его последней цифры в системе счисления с основанием 7.
  • Включают завершающий ноль в сумму или количество чисел.
  • Забывают обработать случай, когда подходящих чисел нет.
  • Используют целочисленное деление вместо обычного деления при вычислении среднего арифметического.

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

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

16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на…Задания открытого банка ФИПИ · B92B2516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · B9E24F16Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и…Задания открытого банка ФИПИ · BA6BE016Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · BCD6E616Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, кратных 5 или 9.…Задания открытого банка ФИПИ · C2D6EB16Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает…Задания открытого банка ФИПИ · C3AEB516Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в…Задания открытого банка ФИПИ · C498D216Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 9.…Задания открытого банка ФИПИ · C576FE

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

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

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

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

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

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

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