РУҚА
16

Решение: Последняя цифра в системе счисления

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

Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 1. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, последовательность заканчивается числом 0, которое в последовательность не входит.

Программа должна вывести количество чисел, запись которых в 7-ричной системе счисления оканчивается цифрой 1, или «NO», если таких чисел нет.

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

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

5 шагов
1

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

$$n \mathbin{\%} 7 = 1$$
2

Организуем ввод в цикле. Число 0 является признаком окончания ввода и не обрабатывается.

3

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

4

После окончания ввода выводим количество найденных чисел. Если счётчик равен нулю, выводим строку «NO».

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

$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if n % 7 == 1:\n count += 1\n\nif count == 0:\n print('NO')\nelse:\n print(count)$$
Ответ

Программа должна считать числа до нулевого признака окончания, проверять условие $n \mathbin{\%} 7 = 1$ и выводить количество подходящих чисел либо «NO».

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

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

Обработка числа 0 как элемента последовательности.

Проверка делимости на 7 вместо проверки остатка 1.

Полный перевод числа в 7-ричную систему без необходимости.

Вывод числа 0 вместо строки «NO», если подходящих элементов нет.

Использование условия n % 7 == 0 вместо n % 7 == 1.

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

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

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

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