16

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

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

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

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

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

Пример работы программы:
Входные данные: 20, 13, 9, 28, 12, 0.
Выходные данные: 33.

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

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

4 шага
1

Считываем числа по одному, пока не встретится 0. Сам 0 не обрабатываем.

$$while n \ne 0$$
2

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

$$n \bmod 7 = 6$$
3

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

$$S = \sum n$$

Пример: $20 \bmod 7 = 6$ и $13 \bmod 7 = 6$, поэтому сумма равна $20 + 13 = 33$.

Ответ

Пример решения на Python:

s = 0
count = 0
n = int(input())
while n != 0:
if n % 7 == 6:
s += n
count += 1
n = int(input())

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

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

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

Проверяют делимость числа на 7 вместо проверки остатка 6.

Добавляют в сумму число 0, хотя оно является признаком окончания ввода.

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

Забывают считать количество подходящих элементов и не могут отличить пустую выборку от суммы, равной нулю.

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

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

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

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