Шешімі: Подсчёт шестнадцатеричных чисел
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру B. На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке. Программа должна напечатать только одно число — количество искомых элементов последовательности.
| Входные данные | Выходные данные |
|---|---|
| 5 171 283 891 955 4123 | 3 |
Шешім по шагам
4 қадамСчитываем количество элементов последовательности и устанавливаем счётчик подходящих чисел равным нулю.
$$count = 0$$Для каждого числа получаем его запись в шестнадцатеричной системе счисления. Формат `X` использует заглавные буквы, поэтому цифра 11 записывается как B.
$$s = \mathrm{format}(x, 'X')$$Число подходит, если его шестнадцатеричная запись содержит ровно три символа и последний символ равен B.
$$\mathrm{len}(s)=3 \land s[-1]='B'$$После обработки всех элементов выводим количество подходящих чисел.
$$\mathrm{print}(count)$$```python
n = int(input())
count = 0
for _ in range(n):
x = int(input())
s = format(x, 'X')
if len(s) == 3 and s[-1] == 'B':
count += 1
print(count)
```
Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Проверяют последнюю десятичную цифру числа вместо последнего символа его шестнадцатеричной жазбалар.
Не учитывают требование о трёхзначной жазбалар.
Используют строчную букву `b`, хотя в условии указана заглавная буква B.
Пытаются проверить делимость числа на 16 вместо проверки последней шестнадцатеричной цифры B.