РУҚА
16

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

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

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

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

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

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

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

4 шага
1

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

$$n = int(input()); count = 0$$
2

Для каждого числа получаем его шестнадцатеричную запись. Функция `hex` добавляет префикс `0x`, поэтому используем срез `[2:]`.

$$s = hex(x)[2:]$$
3

Число подходит, если его шестнадцатеричная запись содержит ровно три символа и заканчивается символом `0`.

$$len(s) == 3 \land s[-1] == '0'$$

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

$$print(count)$$
Ответ

n = int(input())
count = 0

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

print(count)

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

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

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

Не удаляют префикс `0x` перед проверкой длины.

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

Забывают вывести только итоговое количество.

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

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

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

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