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