Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.
Количество чисел не превышает 100. Введённые числа по модулю
не превышают 300.
Программа должна вывести одно число: сумму чисел, оканчивающихся на 8.
Пример работы программы:
Входные данные | Выходные данные |
3 | 46 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно обработать набор чисел и суммировать только те из них, которые удовлетворяют условию (оканчиваются на цифру 8).
Шаг 1: Анализ входных данных.
Сначала программа считывает количество чисел . Затем в цикле вводятся сами числа. По условию задачи числа натуральные, их количество не более 100, а сами значения не превышают 300.
Шаг 2: Определение признака делимости.
Чтобы проверить, оканчивается ли число на 8, нужно найти остаток от его деления на 10. В программировании для этого используется оператор взятия остатка (например, % в Python/C++ или mod в Pascal). Если , то число нам подходит.
Шаг 3: Алгоритм решения.
1. Создаём переменную-сумматор (например, ) и присваиваем ей начальное значение 0.
2. Считываем количество чисел .
3. Запускаем цикл, который повторится раз.
4. Внутри цикла считываем очередное число .
5. Проверяем условие: если , то прибавляем к сумме .
6. После завершения цикла выводим значение .
Пример реализации на языке Python:
n = int(input())
s = 0
for i in range(n):
x = int(input())
if x % 10 == 8:
s += x
print(s)
Разбор примера из условия:
Вводятся числа: 18, 28, 24.
1. Число 18: . Условие верно. Сумма .
2. Число 28: . Условие верно. Сумма .
3. Число 24: . Условие ложно. Сумма не меняется.
Итоговый результат: 46.
Ответ: 46
Источник: ФИПИ