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