#include
using namespace std;
int main() {
cout > a;
cout > b;
if (a > b) swap(a, b);
auto count = 0U;
auto sum = 0;
if (~a & 1) ++a;
for (auto i = a; i
Если x1 будет четным, то цикл будет идти только по четным числам (потому что шаг +2) и ни одно число не будет подсчитано.
Лучшее решение - привести x1 к ближайшему большему нечетному, если оно четное.
if (x1%2==0) ++x1;
и тогда в цикле не нужна проверка на четность, потому что все числа в цикле станут нечетными.
При желании можно обойтись и без без подсчета k внутри цикла.
после приведения x1 к нечетному числу:
k = (x2-x1)/2 + 1;