Шешімі: Подсчёт шестнадцатеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру D. На вход программе сначала подаётся количество элементов последовательности N (1 ≤ N ≤ 1000), затем каждый элемент последовательности в отдельной строке. Программа должна напечатать только одно число — количество искомых элементов последовательности.
| Входные данные | Выходные данные |
|---|---|
| 5 173 285 893 957 4125 | 3 |
Шешім по шагам
5 қадамСчитываем количество элементов последовательности и создаём счётчик подходящих чисел.
Трёхзначная шестнадцатеричная запись начинается с числа $100_{16}=256$ и заканчивается числом $FFF_{16}=4095$.
$$256 \leq x \leq 4095$$Последняя шестнадцатеричная цифра определяется остатком от деления на 16. Цифре D соответствует остаток 13.
$$x \bmod 16 = 13$$Для каждого элемента проверяем оба условия одновременно и увеличиваем счётчик.
Выводим полученное количество подходящих элементов.
```python
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 13:
count += 1
print(count)
```
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют последнюю цифру в десятичной жазбалар вместо шестнадцатеричной.
Не учитывают нижнюю или верхнюю границу диапазона трёхзначных шестнадцатеричных чисел.
Проверяют только делимость на 16, хотя для цифры D нужен остаток 13.
Используют условие OR вместо одновременной проверки обоих условий.