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

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

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

Напишите программу, которая в последовательности натуральных чисел определяет сумму всех трёхзначных чисел, у которых сумма цифр делится на 3.

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

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

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

Входные данныеВыходные данные
5
123
124
600
99
222
945
Задание выполняется на компьютере. После выполнения можно посмотреть решение.

Решение

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

  1. Считываем количество чисел в последовательности.
  2. Создаём список b, куда будем добавлять трёхзначные числа, у которых сумма цифр делится на 3.
  3. Для каждого введённого числа создаём переменную s, в которой будем хранить сумму его цифр.
  4. Перебираем цифры числа по индексам через range(len(str(a))) и прибавляем каждую цифру к переменной s.
  5. Если число трёхзначное и сумма его цифр делится на 3, добавляем число в список с помощью append.
  6. В конце выводим сумму всех подходящих чисел с помощью функции 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))  # выводим сумму подходящих чисел