16

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

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ4CEE2AКороткий ответ≈ 10 минутРазбор в 4 шага
Условие

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

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

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

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

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

4 шага
1

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

$$d = n \bmod 5$$
2

В системе счисления с основанием 5 цифры имеют значения от 0 до 4. Чётными являются цифры 0, 2 и 4, поэтому подходят числа, для которых остаток от деления на 5 равен 0, 2 или 4.

$$n \bmod 5 \in \{0, 2, 4\}$$
3

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

$$S = S + n$$

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

Ответ

n = int(input())
s = 0
found = False

while n != 0:
if n % 5 in (0, 2, 4):
s += n
found = True
n = int(input())

if found:
print(s)
else:
print('NO')

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

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

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

Учитывают только остаток 0 и забывают, что чётными цифрами в системе с основанием 5 также являются 2 и 4.

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

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

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

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

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

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