Решение: Сумма трёхзначных чисел
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму трёхзначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 20. Введённые числа не превышают 1500. Программа должна вывести одно число: сумму трёхзначных чисел, кратных 4.
| Входные данные | Выходные данные |
|---|---|
| 18 192 104 117 0 | 296 |
Решение по шагам
5 шаговСоздаём переменную для накопления суммы и устанавливаем её равной нулю.
$$s = 0$$В цикле считываем очередное число. Если оно равно нулю, ввод завершается.
$$x = 0 \Rightarrow \text{остановка цикла}$$Для ненулевого числа проверяем, является ли оно трёхзначным и кратным 4.
$$100 \leq x \leq 999 \land x \bmod 4 = 0$$Если оба условия выполнены, добавляем число к сумме. После окончания ввода выводим сумму.
$$s \leftarrow s + x$$Один из возможных вариантов программы на Python:
$$s = 0\nwhile True:\n x = int(input())\n if x == 0:\n break\n if 100 <= x <= 999 and x % 4 == 0:\n s += x\nprint(s)$$s = 0
while True:
x = int(input())
if x == 0:
break
if 100 <= x <= 999 and x % 4 == 0:
s += x
print(s)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Добавляют в сумму число 0, хотя оно является только признаком окончания ввода.
Проверяют кратность 4, но не проверяют, что число является трёхзначным.
Используют условие x > 100 или x < 999, исключая числа 100 и 999.
Забывают вывести накопленную сумму после завершения цикла.