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