Ошибка в задаче python
Рассматривается множество целых чисел, принадлежащих числовому отрезку [-9563; -3102], которые удовлетворяют следующим условиям:
- кратны 7, но не кратны 11 и 23;
- последняя цифра отлична от 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):