Ответ: Подсчёт чисел по записи в восьмеричной системе
n = int(input())
count = 0
for _ in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 3:
count += 1
print(count)
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 3.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности — в отдельной строке. Программа должна напечатать только одно число — количество искомых элементов.
Где здесь ошибаются
Проверяют только последнюю цифру десятичной записи числа.
Используют границу 4096, хотя число 4096 имеет уже пять цифр в восьмеричной системе.
Забывают проверить, что запись числа является четырёхзначной.
Используют условие ИЛИ вместо одновременной проверки диапазона и остатка от деления.