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