РУҚА
16

Решение: Подсчёт восьмеричных чисел

ОГЭ · Информатика · Задание 16 · Системы счисления
ПовышеннаяФИПИF81EBBКороткий ответ≈ 10 минутРазбор в 4 шага
Условие

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 6.

На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.

Программа должна напечатать только одно число — количество искомых элементов последовательности.

Пример входных данных: 5, 38, 166, 478, 510, 582. Результат работы программы: 3.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

4 шага
1

Считываем количество элементов последовательности и создаём счётчик подходящих чисел.

$$count = 0$$
2

Для каждого числа получаем его запись в восьмеричной системе. В строке, возвращаемой функцией oct(), первые два символа — 0o, поэтому трёхзначной записи соответствует длина строки 5.

3

Проверяем, что последний символ восьмеричной записи равен 6. Если оба условия выполнены, увеличиваем счётчик.

Выводим количество найденных элементов.

$$print(count)$$
Ответ

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)

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Проверяют количество цифр в десятичной записи вместо восьмеричной.

Забывают, что функция oct() добавляет префикс 0o.

Проверяют последнюю цифру десятичного числа, а не последнюю цифру его восьмеричной записи.

Используют условие len(s) == 3, не учитывая префикс 0o.

Закрепить приёмВ теме «Системы счисления» ещё 230 задач — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

Разбор этой задачи разложен на 4 шага: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Системы счисления»: в ней 231 задача, и у каждой есть такой же разбор. Регистрация не нужна.