Решение: Сумма двузначных кратных восьми
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 20. Введённые числа не превышают 1500.
Программа должна вывести одно число: сумму всех двузначных чисел, кратных 8.
Пример работы программы:
Входные данные: 17, 16, 32, 160, 0.
Выходные данные: 48.
Решение по шагам
5 шаговВведём переменную для накопления суммы и установим её начальное значение равным нулю.
$$s = 0$$Будем считывать числа до тех пор, пока не встретится число 0. Ноль не обрабатывается как элемент последовательности.
Для каждого введённого числа проверим, является ли оно двузначным и кратным 8.
$$10 \leq x \leq 99 \quad \text{и} \quad x \bmod 8 = 0$$Если оба условия выполнены, прибавим число к сумме. После завершения ввода выведем сумму.
$$s = s + x$$Один из возможных вариантов программы на Python:
$$s = 0\nwhile True:\n x = int(input())\n if x == 0:\n break\n if 10 <= x <= 99 and x % 8 == 0:\n s += x\nprint(s)$$s = 0
while True:
x = int(input())
if x == 0:
break
if 10 <= x <= 99 and x % 8 == 0:
s += x
print(s)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в обработку или сумму.
Проверяют только кратность 8, но не проверяют, что число двузначное.
Используют условие x < 100 без проверки нижней границы.
Забывают вывести накопленную сумму после завершения цикла.