16

Решение: Четырёхзначные восьмеричные числа

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

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

Пример входных данных: $5, 484, 556, 892, 3028, 4124$. Пример выходных данных: $3$.

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

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

4 шага
1

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

$$count = 0$$
2

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

$$s = oct(x)[2:]$$
3

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

$$len(s) = 4 \land s[-1] = \text{'4'}$$

После обработки всех элементов выводим значение счётчика.

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

```python
n = int(input())
count = 0

for _ in range(n):
x = int(input())
s = oct(x)[2:]
if len(s) == 4 and s[-1] == '4':
count += 1

print(count)
```

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

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

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

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

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

Выводят подходящие числа, а не их количество.

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

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

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

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