Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, кратных 5 или 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 20. Введённые числа по модулю
не превышают 1500.
Программа должна вывести одно число: сумму всех чисел, кратных 5 или 9.
Пример работы программы:
Входные данные | Выходные данные |
15 | 84 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо организовать ввод последовательности чисел и проверять каждое из них на соответствие условию. Разберём алгоритм по шагам:
1. Инициализация переменной для суммы. Создадим переменную , в которой будем накапливать результат. В самом начале, пока мы не прочитали ни одного числа, сумма равна .
2. Организация цикла ввода. Поскольку мы не знаем заранее количество чисел, но знаем признак конца (число ), удобнее всего использовать цикл while. Программа будет считывать числа одно за другим до тех пор, пока не встретит .
3. Проверка условия кратности. Для каждого введённого числа нужно проверить, делится ли оно на или на . В программировании проверка на кратность осуществляется с помощью операции взятия остатка от деления (%). Если остаток равен , значит, число кратно. Условие будет выглядеть так: или .
4. Обновление суммы. Если условие выполняется, мы прибавляем текущее число к нашей сумме .
5. Вывод результата. После того как цикл завершится (будет введён ), программа должна вывести итоговое значение переменной .
Пример реализации на языке Python:
s = 0 x = int(input()) while x != 0: if x % 5 == 0 or x % 9 == 0: s += x x = int(input()) print(s)Проверим работу алгоритма на примере из условия:
1) Вводим . Оно кратно (). Сумма .
2) Вводим . Оно кратно (). Сумма .
3) Вводим . Оно не кратно ни , ни . Сумма не меняется: .
4) Вводим . Цикл завершается. Программа выводит .
Ответ: 84
Источник: ФИПИ