Отрезок (Python). №16 ОГЭ
Продолжаем рассматривать варианты задания 16, формулировка которых отличается от ввода последовательности чисел.
Имена переменных могут быть другими.
№C3AEB5
Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [a, b] (включая концы отрезка). Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].
Пример работы программы:
Входные данные | Выходные данные |
---|---|
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 по учебникам Босовой Л.Л., Полякова К.Ю.
Примеры из Банка заданий ОГЭ.