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