РУҚА
16

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

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

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

Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).

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

Входные данныеВыходные данные
169 281 889 953 4121 03
Пример работы программы
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

4 шага
1

В шестнадцатеричной системе счисления одна цифра соответствует одному разряду с основанием 16. Поэтому трёхзначные записи имеют значения от $16^2$ до $16^3 - 1$, то есть от 256 до 4095.

$$16^2 \leq n < 16^3$$
2

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

$$n \bmod 16 = 9$$
3

Организуем цикл чтения чисел до появления 0. Если число удовлетворяет обоим условиям, увеличиваем счётчик. После завершения ввода выводим счётчик.

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

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

Программа должна проверять условия $256 \leq n < 4096$ и $n \bmod 16 = 9$ для каждого введённого числа до появления 0, затем вывести количество подходящих чисел.

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

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

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

Включают число 0 в последовательность.

Используют верхнюю границу $16^3$, хотя число $16^3$ уже имеет четырёхзначную запись.

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

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

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

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

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