Ответ: Подсчёт восьмеричных чисел
count = 0
n = int(input())
for _ in range(n):
x = int(input())
s = oct(x)
if len(s) == 5 and s[-1] == '6':
count += 1
print(count)
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
В бланк: число или слово без единиц измерения; дробную часть отделяйте запятой.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 6.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число — количество искомых элементов последовательности.
Пример входных данных: 5, 38, 166, 478, 510, 582. Результат работы программы: 3.
Где здесь ошибаются
Проверяют количество цифр в десятичной записи вместо восьмеричной.
Забывают, что функция oct() добавляет префикс 0o.
Проверяют последнюю цифру десятичного числа, а не последнюю цифру его восьмеричной записи.
Используют условие len(s) == 3, не учитывая префикс 0o.