РУҚА
16

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

ОГЭ · Информатика · Тапсырма 16 · Санау жүйелері
КүрделіФИПИDD15CAТолық шешім≈ 5 минутТалдау 5 қадам
Условие

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

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

5 қадам
1

Трёхзначная запись в шестнадцатеричной системе начинается с разряда $16^2$ и заканчивается перед $16^3$, поэтому число должно удовлетворять неравенству $256 \leq n < 4096$.

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

Шестнадцатеричная цифра C соответствует десятичному значению $12$. Поэтому последняя цифра записи равна C тогда и только тогда, когда остаток от деления числа на $16$ равен $12$.

$$n \bmod 16 = 12$$
3

Считываем числа до появления нуля. Ноль является признаком окончания ввода и не проверяется.

4

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

$$count = count + 1$$

Один из нұсқа реализации программы на Python:

$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if 256 <= n < 4096 and n % 16 == 12:\n count += 1\nprint(count)$$
Жауап

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

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

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

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

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

Используют условие $n \leq 4096$, хотя число $4096$ записывается как $1000_{16}$ и не является трёхзначным.

Считают, что цифре C соответствует остаток 13, хотя $\mathrm{C}_{16} = 12_{10}$.

Закрепить приёмВ теме «Санау жүйелері» ещё 230 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ОГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 5 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

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