не лезь на фриланс, тоже потеряешь время
sorted([i for i in sieve if i >= M])
от sorted(i for i in sieve if i >= M)
? import math
def getPrimes(M, N):
'''Решето Эратосфена'''
N += 1
sieve = set(range(2, N))
for i in range(2, int(math.sqrt(N))):
if i in sieve:
sieve -= set(range(2*i, N, i))
return sorted([i for i in sieve if i >= M]) # <-- Как бы это оптимизировать?
def step(g, m, n):
visited = set()
for i, x in enumerate(getPrimes(m, n)):
if x - g in visited:
return [x - g, x]
visited.add(x)
return None