Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех таких чисел, которые кратны 4 и оканчиваются на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести одно число: сумму всех чисел, кратных 4 и оканчивающихся на 2.
Пример работы программы:
Входные данные | Выходные данные |
12 | 12 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо организовать цикл чтения чисел до тех пор, пока не будет введён ноль. Внутри цикла мы будем проверять каждое число на соответствие двум условиям и накапливать их сумму.
Шаг 1: Инициализация переменных.
Создадим переменную (сумма), в которой будем хранить результат. Изначально . Также нам понадобится переменная для хранения текущего введённого числа.
Шаг 2: Организация цикла.
Так как количество чисел заранее неизвестно, используем цикл while. Условием продолжения цикла будет . Первое число нужно считать до начала цикла, чтобы программа могла проверить условие входа.
Шаг 3: Проверка условий.
Для каждого введённого числа проверяем два условия одновременно (используя логическое "И"):
1. Число кратно 4. В программировании это проверяется остатком от деления: .
2. Число оканчивается на 2. Последнюю цифру числа можно получить как остаток от деления на 10: .
Шаг 4: Накопление суммы.
Если оба условия выполняются, прибавляем текущее число к сумме: .
Пример реализации на языке Python:
s = 0
x = int(input())
while x != 0:
if x % 4 == 0 and x % 10 == 2:
s += x
x = int(input())
print(s)
Разбор примера:
1. Введено : (да), (да). Сумма .
2. Введено : (да), (нет). Сумма не меняется.
3. Введено : (нет), (да). Сумма не меняется.
4. Введено : цикл завершается. Вывод: .
Ответ: 12
Источник: ФИПИ