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