16

Решение: Подсчёт чётких цифр в пятеричной записи

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

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

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

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

Пример входных данных:
6
12
15
10
71
50
11

Пример выходных данных:
4

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

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

4 шага
1

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

$$last_digit_5(x) = x \bmod 5$$
2

В пятеричной системе возможны цифры $0$, $1$, $2$, $3$, $4$. Чётными являются цифры $0$, $2$ и $4$, поэтому проверяем остаток `x % 5` на принадлежность множеству `(0, 2, 4)`.

3

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

Если счётчик равен нулю, выводим `NO`; иначе выводим его значение.

$$count = 0 \Rightarrow \text{вывести NO}$$
Ответ

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

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

if count == 0:
print("NO")
else:
print(count)
```

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

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

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

Забывают, что остаток $0$ соответствует последней цифре $0$, которая является чётной.

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

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

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

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

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

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