Решение: Сумма чисел на 8
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.
Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 8.
| Входные данные | Выходные данные |
|---|---|
| 3 18 28 24 | 46 |
Решение по шагам
4 шагаСчитываем количество чисел в последовательности и создаём переменную для накопления суммы.
$$n = \text{int(input())},\quad s = 0$$Повторяем обработку для каждого из n чисел.
$$\text{для } i \text{ от } 1 \text{ до } n$$Проверяем последнюю цифру числа с помощью остатка от деления на 10. Если остаток равен 8, добавляем число к сумме.
$$x \mathbin{\%} 10 = 8 \Rightarrow s = s + x$$Выводим полученную сумму.
$$\text{print}(s)$$n = int(input())
s = 0
for _ in range(n):
x = int(input())
if x % 10 == 8:
s += x
print(s)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют x % 10 == 0 вместо x % 10 == 8.
Не считывают все числа последовательности.
Выводят количество подходящих чисел вместо их суммы.
Забывают инициализировать сумму нулём.