Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 2. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
482 554 890 3026 4122 0 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа до тех пор, пока не встретится 0, и для каждого числа проверять два условия, сформулированных в задаче относительно восьмеричной системы счисления.
1. Условие четырёхзначности в восьмеричной системе.
Число является четырёхзначным в системе счисления с основанием , если оно находится в диапазоне от до .
Вычислим эти границы:
Нижняя граница: .
Верхняя граница: .
Следовательно, число должно удовлетворять условию: .
2. Условие окончания на цифру 2 в восьмеричной системе.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в восьмеричной системе оканчивалось на , остаток от его деления на должен быть равен .
Математически: .
3. Алгоритм решения:
— Создаём переменную-счётчик (например, count) и обнуляем её.
— В цикле считываем числа до появления 0.
— Для каждого введённого числа проверяем: (число ) И (число ) И (остаток от деления на равен ).
— Если все условия верны, увеличиваем счётчик на 1.
— После окончания ввода выводим значение счётчика.
4. Разбор примера:
— : (не подходит по разрядности).
— : (так как ) и . Подходит (1).
— : (так как ) и . Подходит (2).
— : (так как ) и . Подходит (3).
— : (не подходит по разрядности, это уже пятизначное число в восьмеричной системе).
Итого: 3 числа.
Ответ: 3
Источник: ФИПИ