16

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

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

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

Входные данныеВыходные данные
5 164 276 884 948 41163
Пример работы программы
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

5 шагов
1

Считываем количество элементов последовательности и устанавливаем счётчик подходящих чисел равным нулю.

$$count = 0$$
2

Каждое число переводим в шестнадцатеричную систему. Префикс `0x` удаляем с помощью среза `[2:]`.

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

Проверяем два условия: длина записи равна 3, а последний символ записи равен `4`. Если оба условия выполнены, увеличиваем счётчик.

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

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

$$print(count)$$

Один из корректных вариантов программы:

$$n = int(input())\ncount = 0\nfor _ in range(n):\n x = int(input())\n s = hex(x)[2:]\n if len(s) == 3 and s[-1] == '4':\n count += 1\nprint(count)$$
Ответ

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

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

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

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

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

Сравнивают последний символ с числом 4 вместо строки `'4'`.

Считают подходящими записи длиной не ровно 3, а не менее 3 символов.

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

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

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

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