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

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

Количество чисел известно

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

Программа получает на вход количество чисел в последовательности, затем сами числа. Количество чисел не превышает 1000, введённые числа не превышают 30 000.

Программа должна вывести одно число: сумму всех чисел, которые делятся на 8 и не делятся на 16.

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

Входные данныеВыходные данные
6
8
16
24
32
40
7
72
Задание выполняется на компьютере. После выполнения можно посмотреть решение.

Решение

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

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

Решение на Python:

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

for i in range(n):  # повторяем ввод n раз
    a = int(input())  # считываем очередное число

    if a % 8 == 0 and a % 16 != 0:  # проверяем делимость на 8 и отсутствие делимости на 16
        b.append(a)  # добавляем подходящее число в список

print(sum(b))  # выводим сумму подходящих чисел