16

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

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

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)

У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.

Условие

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

Открыть задачу и решить самому

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

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

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

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

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

Откуда взялся этот ответРазбор разложен на 4 шага: видно каждое преобразование и где теряется балл.
Открыть решение

Ответ к заданию 16 ОГЭ, информатика

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

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