РУҚА
16

Решение: Подсчёт шестнадцатеричных записей

ОГЭ · Информатика · Задание 16 · Системы счисления
ПовышеннаяФИПИ9BD591Развёрнутое решение≈ 10 минутРазбор в 4 шага
Условие

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 2. В ответе запишите количество искомых элементов.

На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.

Программа должна напечатать только одно число — количество искомых элементов последовательности.

Пример работы программы:
Входные данные: 5, 162, 274, 882, 946, 4114.
Выходные данные: 3.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Считываем количество элементов последовательности $N$ и задаём счётчик подходящих чисел.

$$count = 0$$
2

Каждое число переводим в шестнадцатеричную систему. Функция `hex()` добавляет префикс `0x`, поэтому первые два символа удаляем.

$$s = \mathrm{hex}(x)[2:]$$
3

Проверяем, что запись состоит ровно из трёх символов и заканчивается символом `2`. Если оба условия выполнены, увеличиваем счётчик.

$$\mathrm{len}(s)=3 \land s[-1]='2'$$

После обработки всех элементов выводим количество найденных чисел.

$$\mathrm{print}(count)$$
Ответ

Пример программы на Python:

N = int(input())
count = 0
for _ in range(N):
x = int(input())
s = hex(x)[2:]
if len(s) == 3 and s[-1] == '2':
count += 1
print(count)

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Проверяют количество десятичных цифр вместо количества символов в шестнадцатеричной записи.

Забывают удалить префикс `0x` из результата функции `hex()`.

Проверяют окончание записи в десятичной системе, а не в шестнадцатеричной.

Используют условие `len(s) >= 3` вместо требования ровно трёх символов.

Закрепить приёмВ теме «Системы счисления» ещё 230 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Системы счисления»: в ней 231 задача, и у каждой есть такой же разбор. Регистрация не нужна.