Задание №16 — Алгоритмы и программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру A. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
170 282 890 954 4122 0 | 3 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое введённое число и проверить, удовлетворяет ли оно двум условиям одновременно: его шестнадцатеричная запись должна быть трёхзначной и оканчиваться на цифру .
Шаг 1. Разбор условий в десятичной системе.
1. Чтобы число в шестнадцатеричной системе счисления было трёхзначным, оно должно находиться в диапазоне от до .
Переведём эти границы в десятичную систему:
Минимальное трёхзначное: .
Максимальное трёхзначное: .
Следовательно, число должно удовлетворять условию: .
2. Последняя цифра в шестнадцатеричной системе — это остаток от деления числа на . Цифра в шестнадцатеричной системе соответствует десятичному числу .
Значит, условие "оканчивается на " на языке программирования запишется как: .
Шаг 2. Алгоритм решения.
Мы будем считывать числа в цикле до тех пор, пока не встретим . Для каждого числа проверим выполнение обоих условий. Если условия верны, увеличим счётчик на .
Шаг 3. Реализация на языке Python.
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 10:
count += 1
x = int(input())
print(count)
Шаг 4. Проверка на примере.
Разберём числа из примера:
1) : (не трёхзначное в -ричной системе).
2) : — верно. (так как ) — верно. Подходит ().
3) : — верно. (так как ) — верно. Подходит ().
4) : — верно. (так как ) — верно. Подходит ().
5) : (четырёхзначное в -ричной системе).
Итого: числа.
Ответ: 3
Источник: ФИПИ