Найти количество чисел, делящихся на 3 и не делящихся на 7, 17, 19, 27 в отрезке [1016; 7937]

Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.

Собственно говоря, у меня есть код:

a=1016
b=7937
k=0
for n in range(a, b+1):
  if n%3 == 0 and n%7 != 0 and n%17 != 0 and n%19 != 0 and n%27 != 0:
    k+=1
print(k)
print(n)

Странным образом результат сходится только на половину с ответом.

Что вывела моя программа:

1568

7937

А должна была:

1568

7935

Хотелось бы услышать от знающих, где я оплошал


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

Автор решения: Igor

Обратите внимание, что 7935 делится на три. Ожидаемый вывод содержит последнее число, удовлетворяющее условиям, а Ваш вывод - последнее проверенное число.

→ Ссылка
Автор решения: g1shy

Вот правильное решение:

a=1016
b=7937
k=0
last_n = 0
for n in range(a, b+1):
  if n%3 == 0 and n%7 != 0 and n%17 != 0 and n%19 != 0 and n%27 != 0:
    k+=1
    last_n = n
print(k, last_n)
→ Ссылка
Автор решения: Семен
a = 1016
b = 7937
k = 0
max = 0

for n in range(a, b+1):
    if n%3 == 0 and n%7 != 0 and n%17 != 0 and n%19 != 0 and n%27 != 0:
        k += 1
        if max < n:
            max = n
            
print(k)
print(n)
→ Ссылка