Задание №16
ID: 405
Программирование: обработка последовательности чисел
Количество чисел известно
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, которые делятся на 8 и не делятся на 16.
Программа получает на вход количество чисел в последовательности, затем сами числа. Количество чисел не превышает 1000, введённые числа не превышают 30 000.
Программа должна вывести одно число: сумму всех чисел, которые делятся на 8 и не делятся на 16.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 6 8 16 24 32 40 7 | 72 |
Задание выполняется на компьютере. После выполнения можно посмотреть решение.
Решение
Идея решения:
- Считываем количество чисел в последовательности.
- Создаём список
b, куда будем добавлять числа, которые делятся на 8 и не делятся на 16. - Для каждого введённого числа проверяем оба условия.
- Если число подходит, добавляем его в список с помощью
append. - В конце выводим сумму всех подходящих чисел с помощью функции
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)) # выводим сумму подходящих чисел