Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру B. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
5 171 283 891 955 4123 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить, удовлетворяет ли оно двум условиям в шестнадцатеричной системе счисления: трёхзначности и окончанию на цифру .
Шаг 1. Разбор условий.
1. Трёхзначность в 16-ричной системе. Минимальное трёхзначное число в 16-ричной системе — это , а максимальное — . Переведём их в десятичную систему:
Нижняя граница: .
Верхняя граница: .
Следовательно, число трёхзначно в 16-ричной системе, если .
2. Окончание на цифру B. Последняя цифра в 16-ричной системе — это остаток от деления числа на . Цифра соответствует десятичному числу . Значит, условие записывается как: .
Шаг 2. Алгоритм решения.
1. Сначала считываем количество чисел .
2. Заводим переменную-счётчик (например, count) и обнуляем её.
3. В цикле от до считываем очередное число .
4. Проверяем составное условие: (x >= 256) and (x <= 4095) and (x % 16 == 11).
5. Если условие выполняется, увеличиваем счётчик на .
Шаг 3. Проверка примера.
Даны числа: .
- : (не трёхзначное).
- : — верно. (так как ) — верно. Подходит.
- : — верно. (так как ) — верно. Подходит.
- : — верно. (так как ) — верно. Подходит.
- : (не трёхзначное, это ).
Итого: числа.
Пример реализации на языке Python:
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 11:
count += 1
print(count)
Ответ: 3
Источник: ФИПИ