Решение: Подсчёт чётных чисел
Напишите программу, которая по двум данным натуральным числам $a$ и $b$, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке $[a, b]$, включая концы отрезка. Программа получает на вход два натуральных числа $a$ и $b$, при этом гарантируется, что $1 \leq a \leq b \leq 30000$. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке $[a, b]$.
Пример: при вводе чисел 10 и 20 программа должна вывести 6.
Решение по шагам
4 шагаСчитываем границы отрезка $a$ и $b$.
Перебираем все натуральные числа от $a$ до $b$ включительно. Правая граница функции `range` должна быть равна $b + 1$.
$$i \in [a, b]$$Число является чётным, если остаток от его деления на 2 равен нулю. Для каждого такого числа увеличиваем счётчик.
$$i \bmod 2 = 0$$Выводим полученное количество чётных чисел.
a, b = map(int, input().split())
count = 0
for i in range(a, b + 1):
if i % 2 == 0:
count += 1
print(count)
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Использование `range(a, b)` и исключение числа $b$ из перебора.
Проверка нечётности вместо чётности.
Забытый вывод значения счётчика.
Неправильная инициализация счётчика.