16

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

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

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 2. Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0, которое не входит в последовательность. Программа должна вывести только одно число — количество искомых элементов.

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

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

4 шага
1

Четырёхзначная запись в восьмеричной системе начинается с разряда $8^3$, поэтому число должно удовлетворять неравенству $8^3 \leq n < 8^4$.

$$512 \leq n < 4096$$
2

Последняя цифра записи числа в восьмеричной системе равна остатку от деления числа на 8. Поэтому для последней цифры 2 необходимо условие:

$$n \bmod 8 = 2$$
3

Считываем числа до появления нуля. Для каждого числа, удовлетворяющего обоим условиям, увеличиваем счётчик.

Пример программы на Python:

$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if 8**3 <= n < 8**4 and n % 8 == 2:\n count += 1\nprint(count)$$
Ответ

count = 0; while True: n = int(input()); if n == 0: break; if 8**3 <= n < 8**4 and n % 8 == 2: count += 1; print(count)

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

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

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

Используют только условие n % 8 == 2 и не проверяют, что запись является четырёхзначной.

Включают число 0 в последовательность.

Путают верхнюю границу диапазона и записывают условие n <= 4096.

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

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

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

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