Вопрос:

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

Смотреть решения всех заданий с листа

Ответ:

Для решения данной задачи необходимо написать программу, которая будет считывать последовательность натуральных чисел, определять, оканчивается ли запись числа в системе счисления с основанием 7 нечётной цифрой, и вычислять среднее арифметическое таких чисел. Если таких чисел нет, программа должна вывести NO.

Пример реализации на Python:


def to_base7(n):
    if n == 0:
        return '0'
    digits = []
    while n:
        digits.append(str(n % 7))
        n //= 7
    return ''.join(digits[::-1])

numbers = []
while True:
    num = int(input())
    if num == 0:
        break
    numbers.append(num)

suitable_numbers = []
for num in numbers:
    base7_representation = to_base7(num)
    if int(base7_representation[-1]) % 2 != 0:
        suitable_numbers.append(num)

if not suitable_numbers:
    print("NO")
else:
    average = sum(suitable_numbers) / len(suitable_numbers)
    print(average)

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

  1. Функция to_base7(n): преобразует десятичное число n в систему счисления с основанием 7.
  2. Считывание чисел: считываем числа из ввода до тех пор, пока не встретится 0.
  3. Проверка чисел: каждое число преобразуем в систему счисления с основанием 7 и проверяем, является ли последняя цифра нечётной. Если да, добавляем число в список suitable_numbers.
  4. Вывод результата: если список suitable_numbers пуст, выводим "NO", иначе вычисляем и выводим среднее арифметическое чисел из этого списка.
ГДЗ по фото 📸
Подать жалобу Правообладателю