Задание 16 ОГЭ по информатике: решайте с автопроверкой

В задании 16 нужно написать программу, которая читает последовательность чисел и считает количество, сумму или наибольшее значение среди чисел с заданным свойством. Часто последовательность заканчивается нулём.

Решать задачи номера

Как решать программой

Программа читает числа по одному: x = int(input()). Цикл while x != 0 обрабатывает их до нуля, а сам ноль в ответ не входит.

Свойство числа проверяют остатками: кратность 7 — это x % 7 == 0, последняя цифра 3 — это x % 10 == 3. Для двузначных чисел добавьте 10 <= x <= 99.

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

Если программа ничего не находит, ответ обычно 0, но иногда условие просит напечатать особое слово или число. Прочитайте конец условия: тесты проверяют и этот случай.

Разбор примера

Программа читает числа до нуля и считает те, что кратны 7 и оканчиваются на 3. Ввод: 63, 13, 133, 21, 203, 273, 0.

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

Ввод

63
13
133
21
203
273
0

Программа печатает

4

Подходят 63, 133, 203 и 273: все они делятся на 7 и оканчиваются на 3. Число 13 оканчивается на 3, но на 7 не делится, а 21 делится на 7, но оканчивается на 1.

Решить эту задачу

Задачи к заданию 16

  • Билеты, кратные 7 и на 3ЛёгкаяРешать
  • Сумма двузначных нечётныхЛёгкаяРешать
  • Наибольшее кратное 4, но не 8ЛёгкаяРешать
  • Наименьшее трёхзначное с растущими краямиЛёгкаяРешать
  • Среднее чисел, кратных 5ЛёгкаяРешать
  • Числа с суммой цифр больше kЛёгкаяРешать
  • Дни с осадками выше среднегоСредняяРешать
  • Количество и максимум чисел на 9ЛёгкаяРешать
  • Кратные a, но не кратные bЛёгкаяРешать
  • Числа-палиндромы на одометреЛёгкаяРешать
  • Дни, когда шагов стало большеЛёгкаяРешать
  • Цифра десятков больше цифры единицЛёгкаяРешать
  • Размах чётных показанийЛёгкаяРешать
  • Номер первого наибольшего чётногоСредняяРешать
  • Трёхзначные числа с заданной суммой цифрЛёгкаяРешать
  • Числа, кратные минимумуСредняяРешать

Бесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Вопросы и ответы

Нужно ли считать завершающий ноль?
Нет. Ноль только сообщает о конце ввода, цикл while x != 0 его не обрабатывает.
На каком языке писать?
На том, который вы выбрали для экзамена. Здесь задачи проверяются на Python, Pascal, C++ и других языках.
Как найти наибольшее подходящее число?
Заведите переменную m = 0 и обновляйте её, когда подходящее число больше: m = max(m, x).