for i in range(b,int(n*0.5)+1,1):
при вводе числа
1569823637
выдает ошибку MemoryError
Если использовать интервал поменьше, а именно
for i in range(b,int(n**0.5)+100,1):
for i in range(b,int(n*0.5)+1,1):
for i in range(b,int(n**0.5)+100,1):
Почему?
потому что интервал поменьше и памяти хватает
for i in xrange(b, int(n * 0.5) + 1, 1):