Ошибка в задаче python

Рассматривается множество целых чисел, принадлежащих числовому отрезку [-9563; -3102], которые удовлетворяют следующим условиям:

  1. кратны 7, но не кратны 11 и 23;
  2. последняя цифра отлична от 8.

Найдите количество таких чисел и максимальное из них.

Правильный ответ: 723 -3115

При вводе данного кода выдаётся неправильный ответ, в чём заключается ошибка?

c=0 
m=0
for i in range(-9563, -3102 + 1):
    if (i%7==0) and (i%11!=0) and (i%23!=0) and (i%10!=8):
        c += 1
        m = i
print(c, m)

Ответы (2 шт):

Автор решения: TigerTV.ru

Остаток от деления получается не отрицательный, а положительный. Поэтому для вашего случая подойдет следующий if;

if (i%7==0) and (i%11!=0) and (i%23!=0) and (i%10!=2):

Вывод:

723 -3115
→ Ссылка
Автор решения: ones0

Если вы хотите получить положительный остаток от деления, вы можете использовать функцию abs() для получения абсолютного значения остатка:

if (i%7==0) and (i%11!=0) and (i%23!=0) and (abs(i)%10!=8):
→ Ссылка