Решение: Подсчёт шестнадцатеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $6$. На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности — в отдельной строке. Программа должна напечатать только одно число — количество искомых элементов.
Решение по шагам
4 шагаВ шестнадцатеричной системе счисления трёхзначные числа находятся от $16^2 = 256$ до $16^3 - 1 = 4095$.
Последняя цифра шестнадцатеричной записи определяется остатком от деления числа на $16$. Поэтому окончание на цифру $6$ проверяется условием $x \bmod 16 = 6$.
Перебираем все $N$ чисел. Если число удовлетворяет обоим условиям, увеличиваем счётчик.
Пример программы на Python:
$$n = int(input()) count = 0 for _ in range(n): x = int(input()) if 256 <= x <= 4095 and x % 16 == 6: count += 1 print(count)$$Программа должна проверить для каждого числа условия $256 \leq x \leq 4095$ и $x \bmod 16 = 6$, после чего вывести количество подходящих чисел.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют делимость на 16 вместо остатка $6$ от деления на 16.
Используют верхнюю границу $4096$, хотя число $4096$ записывается как $1000_{16}$ и имеет четыре цифры.
Проверяют только последнюю цифру, но не проверяют, что запись числа трёхзначна в шестнадцатеричной системе.
Выводят найденные числа вместо их количества.