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