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