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