Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3278460
А
Аноним
14 июня 2025 21:32 · публичный вопрос
А
Аноним

Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 5…

Запрос пользователя

Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO». Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит). Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.

Ответ нейросети
14 июня 2025 21:32

Давайте подробно разберем задачу и предложим решение.


Условие задачи

Дан поток натуральных чисел, завершающийся числом 0 (которое не входит в рассматриваемую последовательность). Для каждого числа нужно проверить:

  • В системе счисления с основанием 5, какая у него последняя цифра.
  • Если последняя цифра в этой системе нечётная (то есть 1 или 3), то номер этого числа входит в выборку.

Задача:

  • В конце требуется вывести среднее арифметическое всех таких чисел.
  • Если таких чисел не было, — вывести "NO".

Что нужно сделать

  1. Обработка входных данных:
    Считывать числа до тех пор, пока не встретится 0.

  2. Проверка последней цифры в системе счисления с основанием 5:

    • Для этого можно взять число по модулю 5: число % 5.
    • Если результат равен 1 или 3 — цифра нечётная.
  3. Расчет среднего арифметического:

    • Собрать все подходящие числа.
    • Посчитать их сумму и количество.
    • Вывести сумму деленную на количество, или "NO", если таких чисел не было.

Пример решения на Python

# Инициализация переменных для хранения суммы и количества подходящих чисел
sum_numbers = 0
count = 0

while True:
    number = int(input())
    if number == 0:
        break
    last_digit_five_base = number % 5
    # Проверяем, является ли последняя цифра в системе с основанием 5 нечётной
    if last_digit_five_base in [1, 3]:
        sum_numbers += number
        count += 1

# Вывод результата
if count == 0:
    print("NO")
else:
    print(sum_numbers / count)

Объяснение кода

  • Цикл while True обеспечивает считывание чисел до появления 0.
  • Каждое число проверяется: берется остаток от деления на 5 (number % 5).
  • Если остаток равен 1 или 3, число включается в сумму и увеличивается счетчик.
  • После завершения ввода, если подходящих чисел не найдено (count == 0), выводим "NO".
  • Иначе — выводим среднее арифметическое.

Если нужна помощь по другим языкам программирования или более подробно — обращайтесь!