Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 9. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
5 169 281 889 953 4121 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Разберём задачу по шагам, чтобы понять, как проверить каждое число на соответствие условиям.
1. Анализ условий. Нам нужно найти числа, которые в шестнадцатеричной системе счисления:
а) являются трёхзначными;
б) оканчиваются на цифру .
2. Перевод условий в десятичную систему.
Чтобы число было трёхзначным в шестнадцатеричной системе, оно должно находиться в диапазоне от до .
Переведём границы в десятичную систему:
Нижняя граница: .
Верхняя граница: — это самое большое трёхзначное число. Следующее за ним число — , которое равно . Значит, наше число должно быть меньше .
Следовательно, условие трёхзначности: .
3. Проверка последней цифры.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы последняя цифра в шестнадцатеричной системе была равна , остаток от деления числа на должен быть равен .
Математически: .
4. Алгоритм решения:
— Сначала считываем количество чисел .
— Заводим счётчик (переменную count), изначально равный .
— В цикле раз считываем очередное число .
— Для каждого проверяем: если И И , то увеличиваем счётчик на .
— В конце выводим значение счётчика.
5. Проверка примера из условия:
1) : (не трёхзначное в -ричной системе). Нет.
2) : . Проверяем остаток: (остаток ). Да (1).
3) : . Проверяем остаток: (остаток ). Да (2).
4) : . Проверяем остаток: (остаток ). Да (3).
5) : (уже четырёхзначное). Нет.
Итого: .
Ответ: 3
Источник: ФИПИ