РУҚА
16

Решение: Сумма чисел по остатку

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

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

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

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

Пример: для последовательности 33, 63, 17, 24, 53, 0 программа должна вывести 41.

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

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

5 шагов
1

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

$$x \bmod 7 = 3$$
2

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

3

Для каждого подходящего числа прибавляем его к сумме и устанавливаем признак наличия хотя бы одного такого элемента.

4

После завершения ввода выводим сумму, если подходящие числа были найдены; иначе выводим строку NO.

Пример реализации на Python:

$$s = 0\nfound = False\nwhile True:\n x = int(input())\n if x == 0:\n break\n if x % 7 == 3:\n s += x\n found = True\n\nif found:\n print(s)\nelse:\n print('NO')$$
Ответ

Программа должна проверять условие x % 7 == 3, суммировать подходящие числа и выводить NO при отсутствии таких чисел.

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

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

Проверяют остаток от деления на 10 вместо остатка от деления на 7.

Включают завершающий ноль в сумму.

Выводят 0 вместо NO, если подходящих чисел нет.

Забывают завершить цикл при вводе числа 0.

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

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

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

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