Задание №16
ID: 420

Программирование: обработка последовательности чисел

Последовательность заканчивается числом 0

Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое чисел, которые делятся на 6 и оканчиваются на 8. Ответ нужно вывести с точностью до десятых.

Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0. Число 0 является признаком окончания ввода и в последовательность не входит. В последовательности всегда имеется хотя бы одно подходящее число.

Программа должна вывести одно число: среднее арифметическое подходящих чисел.

Пример работы программы:

Входные данныеВыходные данные
18
48
68
108
25
0
78.0
Задание выполняется на компьютере. После выполнения можно посмотреть решение.

Решение

Идея решения:

  1. Считываем первое число последовательности.
  2. Создаём список b, куда будем добавлять только числа, которые делятся на 6 и оканчиваются на 8.
  3. Пока не встретился ноль, проверяем каждое введённое число.
  4. Если число подходит под условие, добавляем его в список с помощью append.
  5. После окончания ввода находим среднее арифметическое через sum(b) / len(b) и выводим результат с точностью до десятых.

Решение на Python:

a = int(input())  # считываем первое число
b = []  # создаём список для подходящих чисел

while a != 0:  # обрабатываем числа до нуля
    if a % 6 == 0 and a % 10 == 8:  # проверяем кратность 6 и последнюю цифру 8
        b.append(a)  # добавляем подходящее число в список
    a = int(input())  # считываем следующее число

print(round(sum(b) / len(b), 1))  # выводим среднее арифметическое с точностью до десятых