n = 2
while n * k < y + 1:
    z[n * k - x] = False
n += 1
k = {p for p in range(a, b + 1)}
for p, v in enumerate(z):
    if v:
        t = p + x
n = 1
while n * t < b + 1:
    if n * t in k:
        k.remove(n * t)
n += 1
return k
Нахождение чисел от а до b, не кратных х до у