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