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