Решение: Сумма чисел по условию
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех таких чисел, которые кратны 4 и оканчиваются на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 4 и оканчивающихся на 2.
Пример работы программы: входные данные: 12, 140, 22, 0. Выходные данные: 12.
Решение по шагам
5 шаговСоздаём переменную для накопления суммы и считываем очередное число.
$$s = 0$$Если введено 0, завершаем цикл, поскольку это признак окончания последовательности.
$$n = 0$$Для остальных чисел проверяем оба условия: делимость на 4 и окончание на 2.
$$n \% 4 = 0 \land n \% 10 = 2$$Подходящие числа прибавляем к сумме, после чего выводим результат.
$$s = s + n$$Один из возможных вариантов программы на Python:
$$s = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if n % 4 == 0 and n % 10 == 2:\n s += n\nprint(s)$$s = 0
while True:
n = int(input())
if n == 0:
break
if n % 4 == 0 and n % 10 == 2:
s += n
print(s)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Добавляют в сумму число 0, хотя оно является только признаком окончания ввода.
Проверяют только одно из двух условий.
Путают последнюю цифру числа с остатком от деления на 4.
Используют цикл с заранее известным количеством повторений, хотя количество чисел неизвестно.