РУҚА
16

Решение: Сумма чисел по условию

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

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех чисел, кратных 7 и оканчивающихся на 0. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 0.

Входные данныеВыходные данные
14 140 20 70 0210
Пример работы программы
Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

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

5 шагов
1

Создадим переменную для накопления суммы и присвоим ей начальное значение 0.

$$s = 0$$
2

Будем считывать числа в цикле. Число 0 является признаком окончания ввода, поэтому его не обрабатываем.

$$while\ x \ne 0$$
3

Число кратно 7, если остаток от его деления на 7 равен 0. Число оканчивается на 0, если остаток от деления на 10 равен 0. При выполнении обоих условий добавляем число к сумме.

$$x\bmod 7 = 0\ \text{ и }\ x\bmod 10 = 0$$
4

После получения числа 0 выводим накопленную сумму. Например, к сумме будут добавлены числа 140 и 70.

$$140 + 70 = 210$$

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

Ответ

s = 0
x = int(input())
while x != 0:
if x % 7 == 0 and x % 10 == 0:
s += x
x = int(input())
print(s)

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

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

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

Проверяют только кратность 7 или только окончание числа на 0, а не оба условия одновременно.

Используют деление `/` вместо операции получения остатка `%`.

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

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

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

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

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