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