Найти количество чисел, делящихся на 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)