РУҚА
16

Решение: Сумма чисел по последней цифре

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

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

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

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

Входные данныеВыходные данные
12 15 10 71 50 11 082
Пример работы программы
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

4 шага
1

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

$$d = n \bmod 5$$
2

Остаток должен быть нечётным. Возможные остатки при делении на 5 — 0, 1, 2, 3, 4, поэтому подходят остатки 1 и 3.

$$n \bmod 5 = 1 \;\text{или}\; n \bmod 5 = 3$$
3

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

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

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

Программа должна проверять n % 5 на равенство 1 или 3, суммировать подходящие числа и выводить сумму либо NO.

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

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

Переводят число в систему счисления с основанием 5, хотя достаточно найти остаток от деления на 5.

Считают число 0 элементом последовательности.

Проверяют только остаток 1 и забывают про остаток 3.

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

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

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

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

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