Шешімі: Подсчёт шестнадцатеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру 9. На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке. Программа должна напечатать только одно число — количество искомых элементов последовательности.
Пример входных данных: $5$, $169$, $281$, $889$, $953$, $4121$. Пример результата: $3$.
Шешімін қадамдап көрсету
4 қадамТрёхзначная запись в шестнадцатеричной системе начинается с числа $100_{16} = 256_{10}$ и заканчивается числом $FFF_{16} = 4095_{10}$.
$$256 \leq x \leq 4095$$Последняя шестнадцатеричная цифра числа определяется остатком от деления на 16. Поэтому запись оканчивается цифрой 9, если остаток равен 9.
$$x \mathbin{\%} 16 = 9$$Для каждого элемента проверяем оба условия и увеличиваем счётчик подходящих чисел.
$$count = count + 1$$Готовая программа:
```python
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 9:
count += 1
print(count)
```
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют только последнюю цифру десятичной жазбалар числа.
Считают трёхзначными все числа от 100 до 999, не учитывая основание 16.
Используют условие x % 10 == 9 вместо x % 16 == 9.
Включают число 4096, хотя его шестнадцатеричная жазба уже четырёхзначна.