Задание №16
ID: 413
Программирование: обработка последовательности чисел
Количество чисел известно
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех трёхзначных чисел, у которых сумма цифр делится на 3.
Программа получает на вход количество чисел в последовательности, затем сами числа. Количество чисел не превышает 1000, введённые числа не превышают 30 000.
Программа должна вывести одно число: сумму всех подходящих чисел.
Пример работы программы:
| Входные данные | Выходные данные |
|---|---|
| 5 123 124 600 99 222 | 945 |
Задание выполняется на компьютере. После выполнения можно посмотреть решение.
Решение
Идея решения:
- Считываем количество чисел в последовательности.
- Создаём список
b, куда будем добавлять трёхзначные числа, у которых сумма цифр делится на 3. - Для каждого введённого числа создаём переменную
s, в которой будем хранить сумму его цифр. - Перебираем цифры числа по индексам через
range(len(str(a)))и прибавляем каждую цифру к переменнойs. - Если число трёхзначное и сумма его цифр делится на 3, добавляем число в список с помощью
append. - В конце выводим сумму всех подходящих чисел с помощью функции
sum.
Решение на Python:
n = int(input()) # считываем количество чисел
b = [] # создаём список для подходящих чисел
for i in range(n): # повторяем ввод n раз
a = int(input()) # считываем очередное число
s = 0 # создаём переменную для суммы цифр
for j in range(len(str(a))): # перебираем цифры числа по индексам
s += int(str(a)[j]) # добавляем очередную цифру к сумме
if 100 <= a <= 999 and s % 3 == 0: # проверяем трёхзначность и делимость суммы цифр на 3
b.append(a) # добавляем подходящее число в список
print(sum(b)) # выводим сумму подходящих чисел