Отрезок (Python). №16 ОГЭ

Продолжаем рассматривать варианты задания 16, формулировка которых отличается от ввода последовательности чисел.

Имена переменных могут быть другими.

№C3AEB5

Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [ab] (включая концы отрезка). Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке [ab].

Пример работы программы:

Входные данныеВыходные данные
10
20
6

Исходя из условия, переменные a и b – концы отрезка. n – количество чётных чисел на отрезке.

Мы можем в цикле пройти по числам на отрезке [a, b] и посчитать чётные. Признак чётности: остаток от деления числа на 2 – ноль.

Вариант решения

a = int(input())
b = int(input())
n = 0

for i in range(a, b + 1):
    if i % 2 == 0: n += 1

print(n)

Чётным является каждое второе число. Можно найти половину всего количества чисел, входящих в отрезок и проверить на чётность концы отрезка. Тогда, вариант решения будет выглядеть так:

a = int(input())
b = int(input())

n = (b - a + 1) // 2
if a % 2 == 0 and b % 2 == 0: n += 1

print(n)

Остаётся проверить приведённые решения на различных наборах входных данных, не ограничиваясь приведёнными в задании. Из условия, возможен также вариант когда a и b равны.

Решения и их запись ориентированы на изучение Python по учебникам Босовой Л.Л., Полякова К.Ю.

Примеры из Банка заданий ОГЭ.