РУҚА
16

Решение: Сумма чисел по пятеричной записи

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

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

Программа получает на вход в первой строке натуральное число $N$ ($3 \leq N \leq 10\,000$), затем $N$ натуральных чисел, не превышающих $30\,000$, каждое в отдельной строке.

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

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

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

5 шагов
1

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

$$r = x \bmod 5$$
2

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

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

Последовательно обрабатываем все $N$ чисел. Подходящие числа прибавляем к сумме, а также подсчитываем их количество.

$$s = s + x$$
4

Если подходящих чисел не найдено, выводим `NO`; иначе выводим накопленную сумму.

Один из вариантов реализации программы:

Ответ

```python
n = int(input())
s = 0
count = 0

for _ in range(n):
x = int(input())
if x % 5 in (0, 2, 4):
s += x
count += 1

if count == 0:
print('NO')
else:
print(s)
```

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

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

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

Забывают включить остаток $0$: числа, кратные $5$, оканчиваются цифрой $0$.

Проверяют только остатки $0$ и $2$, пропуская чётную цифру $4$.

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

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

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

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

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