РУҚА
16

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

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

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

Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).

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

Входные данныеВыходные данные
486 558 894 3030 4126 03
Пример входных и выходных данных

Пример работы программы: на вход подаются числа 486, 558, 894, 3030, 4126, 0; программа выводит 3.

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

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

4 шага
1

Четырёхзначная запись в восьмеричной системе начинается с разряда $8^3$, поэтому число должно быть не меньше 512. Верхняя граница четырёхзначных чисел равна $8^4-1=4095$.

$$8^3 \leq n < 8^4$$
2

Последняя цифра восьмеричной записи определяется остатком от деления числа на 8. Для цифры 6 должно выполняться условие $n \bmod 8 = 6$.

$$n \bmod 8 = 6$$
3

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

Один из возможных вариантов программы на Python:

$$count = 0 n = int(input()) while n != 0: if 8**3 <= n < 8**4 and n % 8 == 6: count += 1 n = int(input()) print(count)$$
Ответ

Для приведённого примера искомыми являются числа 558, 894 и 3030, поэтому программа выводит 3.

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

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

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

Используют условие n % 10 == 6, хотя последняя восьмеричная цифра определяется остатком n % 8.

Включают число 0 в подсчёт.

Неверно задают границы диапазона: четырёхзначные восьмеричные числа находятся в диапазоне от 512 до 4095.

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

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

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

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