РУҚА
16

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

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

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

Пример: для последовательности 174, 286, 894, 958, 412 ответ равен 3.

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

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

5 шагов
1

Трёхзначные числа в шестнадцатеричной системе находятся в диапазоне от $16^2 = 256$ до $16^3 - 1 = 4095$.

$$256 \leq n \leq 4095$$
2

Последняя цифра E имеет значение 14 в шестнадцатеричной системе, поэтому проверяем остаток от деления числа на 16.

$$n \bmod 16 = 14$$
3

Считываем числа до появления нуля. Если оба условия выполнены, увеличиваем счётчик.

$$count := count + 1$$
4

После завершения ввода выводим значение счётчика. Например, числа 286, 894 и 958 имеют трёхзначную шестнадцатеричную запись, оканчивающуюся на E: $11E$, $37E$ и $3BE$.

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

$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if 256 <= n <= 4095 and n % 16 == 14:\n count += 1\nprint(count)$$
Ответ

count = 0; считывать числа до 0; считать числа из диапазона 256–4095 с остатком 14 при делении на 16; вывести count.

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

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

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

Считают число 0 элементом последовательности.

Используют остаток 15 вместо 14 для цифры E.

Задают верхнюю границу диапазона как 4096, хотя число 4096 уже имеет четырёхзначную запись в шестнадцатеричной системе.

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

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

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

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